examples: add shunit2 tests for json_script
[project/libubox.git] / blobmsg_json.c
index 5aa528b..2d1d80d 100644 (file)
 #include "blobmsg.h"
 #include "blobmsg_json.h"
 
+#ifdef JSONC
+       #include <json.h>
+#else
+       #include <json/json.h>
+#endif
+
 bool blobmsg_add_object(struct blob_buf *b, json_object *obj)
 {
        json_object_object_foreach(obj, key, val) {
@@ -43,9 +49,6 @@ bool blobmsg_add_json_element(struct blob_buf *b, const char *name, json_object
        bool ret = true;
        void *c;
 
-       if (!obj)
-               return false;
-
        switch (json_object_get_type(obj)) {
        case json_type_object:
                c = blobmsg_open_table(b, name);
@@ -66,6 +69,9 @@ bool blobmsg_add_json_element(struct blob_buf *b, const char *name, json_object
        case json_type_int:
                blobmsg_add_u32(b, name, json_object_get_int(obj));
                break;
+       case json_type_null:
+               blobmsg_add_field(b, BLOBMSG_TYPE_UNSPEC, name, NULL, 0);
+               break;
        default:
                return false;
        }