X-Git-Url: http://git.ethv.net/?p=yacjs.git;a=blobdiff_plain;f=src%2Fmain.c;h=8c2e723938fabaded5f7997724e07a3d69c2ae37;hp=5cf0aabaa957a39acc5677056d565dcc5aeeb311;hb=6a5e02132857e7fc5b9c57f9def6cd440e028d9d;hpb=f44f7b65c21d333579ca403036f56e5ce4ca73e9 diff --git a/src/main.c b/src/main.c index 5cf0aab..8c2e723 100644 --- a/src/main.c +++ b/src/main.c @@ -5,12 +5,24 @@ int main() { struct yacjs_node *root = yacjs_parse("{\"foo\": \"bar\", \"baz\": [\"a\", \"b\", \"c\"]}"); - printf("Result: %p\n", root); - printf("foo: %p\n", yacjs_node_dict_get(root, "foo")); - printf("foo string: %s\n", yacjs_node_str(yacjs_node_dict_get(root, "foo"))); + FILE *fp = fopen("test/test1.json", "r"); + char buffer[32768]; + int ret = fread(buffer, 1, 32768, fp); + buffer[ret] = 0; + printf("bytes read: %i\n", ret); + fclose(fp); + + root = yacjs_parse(buffer); + printf("root: %p\n", root); + + struct yacjs_node *node = yacjs_node_array_elem(root, 0); + node = yacjs_node_dict_get(node, "friends"); + printf("%i friends\n", yacjs_node_array_size(node)); + + node = yacjs_node_array_elem(node, 1); + printf("second friend ID and name: %li, %s\n", + yacjs_node_num(yacjs_node_dict_get(node, "id")), + yacjs_node_str(yacjs_node_dict_get(node, "name"))); - struct yacjs_node *baz = yacjs_node_dict_get(root, "baz"); - printf("baz: %p\n", baz); - printf("\tfirst element string: %s\n", yacjs_node_str(yacjs_node_array_elem(baz, 0))); return 0; }