utils-json: add facility for arrays
authorJosé Bollo <jose.bollo@iot.bzh>
Tue, 8 Nov 2016 12:01:05 +0000 (13:01 +0100)
committerJosé Bollo <jose.bollo@iot.bzh>
Tue, 8 Nov 2016 12:01:05 +0000 (13:01 +0100)
Change-Id: I6d536d730af71b18e78720839522b82aed63c0d4
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
src/utils-json.c
src/utils-json.h

index c582837..74df9a9 100644 (file)
@@ -95,7 +95,10 @@ int j_integer_at(struct json_object *obj, const char *key, int defval)
 
 int j_add(struct json_object *obj, const char *key, struct json_object *val)
 {
-       json_object_object_add(obj, key, val);
+       if (key)
+               json_object_object_add(obj, key, val);
+       else
+               json_object_array_add(obj, val);
        return 1;
 }
 
index a08e8b9..3c4fee3 100644 (file)
@@ -56,6 +56,7 @@ extern int j_integer_at(struct json_object *obj, const char *key, int defval);
 
 /*
  * Adds a keyed value (of type) and returns true if done or false in case of error
+ * when key==NULL object is an array and values are appended
  */
 extern int j_add(struct json_object *obj, const char *key, struct json_object *val);
 extern int j_add_string(struct json_object *obj, const char *key, const char *val);