Implemented booleans, swapped to YACJS_NAME macro.
[yacjs.git] / src / main.c
index 5cf0aab..8c2e723 100644 (file)
@@ -5,12 +5,24 @@
 int main() {
     struct yacjs_node *root = yacjs_parse("{\"foo\": \"bar\", \"baz\": [\"a\", \"b\", \"c\"]}");
 
 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;
 }
     return 0;
 }