blob: 1840f837332cead3f157342faca5dcd0f015dfd8 [file] [log] [blame]
/*
* C Implementation: json_helper
*
* Description:
*
*
* Author: Rui Maciel <rui_maciel@users.sourceforge.net>, (C) 2007
*
* Copyright: See COPYING file that comes with this distribution
*
*/
#include "json_helper.h"
#include <stdio.h>
#include <assert.h>
void
json_render_tree_indented (json_t * root, int level)
{
int tab;
assert (root != NULL);
for (tab = 0; tab < level; tab++)
{
printf ("> ");
}
switch (root->type)
{
case JSON_STRING:
printf ("STRING: %s\n", root->text);
break;
case JSON_NUMBER:
printf ("NUMBER: %s\n", root->text);
break;
case JSON_OBJECT:
printf ("OBJECT: \n");
break;
case JSON_ARRAY:
printf ("ARRAY: \n");
break;
case JSON_TRUE:
printf ("TRUE:\n");
break;
case JSON_FALSE:
printf ("FALSE:\n");
break;
case JSON_NULL:
printf ("NULL:\n");
break;
}
/* iterate through children */
if (root->child != NULL)
{
json_t *ita, *itb;
ita = root->child;
while (ita != NULL)
{
json_render_tree_indented (ita, level + 1);
itb = ita->next;
ita = itb;
}
}
}
void
json_render_tree (json_t * root)
{
assert (root != NULL);
json_render_tree_indented (root, 0);
}