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;
}