1. json_object_from_file(char* file_name)
从file_name 文件中以json格式读取数据,用例如下:
struct json_object *obj_file_info;
obj_file_info = json_object_from_file(/tmp/test.json);
printf("test.json: %s", json_object_to_json_string(obj_file_info));
代码会把“/tmp/test.json”内的json文本读取出来,赋值给了obj_file_info
然后通过“json_object_to_json_string(struct json_object *obj)”函数把json转换成json格式的文本输出。
#json_object_to_json_string(struct json_object *obj) 就是一个把json格式转换成string的函数。
2. print_json_to_file(struct json_object src, char* file_name)
把json格式数据src输出到文件file_name中。
3. json_object_object_get_ex
扫描二维码关注公众号,回复:
13127419 查看本文章
obj_a
{
"test1":
{
"a1":"1"
"a2":2
}
"test2":
{
"b1":"1"
"b2":2
}
}
json_object_object_get_ex(obj_a, "test1", &obj_b)
json_object_object_get_ex(obj_a, "test2", &obj_c)
obj_b 的结果为:
"test1":
{
"a1":"1"
"a2":2
}
obj_c 的结果为:
"test2":
{
"b1":"1"
"b2":2
}
4. 处理json数组
obj_a:
{
"test1":
{
"a1":"1"
"a2":2
}
"test2":
{
"b1":"1"
"b2":2
}
"test3":[
{
"arr1":"value1"
}
{
"arr2":"value2"
}
{
"arr3":"value3"
}
]
}
json_object_object_get_ex(obj_a, "test3", &obj_arr)
obj_arr的内容:
"test3":[
{
"arr1":"value1"
}
{
"arr2":"value2"
}
{
"arr3":"value3"
}
]
arr_leng = json_object_array_length(obj_arr)
json_object_array_length函数可以获取json数组长度
json_object_object_get_ex(obj_arr, "arr1", &obj_value)
上述函数可以把arr1对应的值“value1”取出来,通过转换函数转成string就可以了。
5.
初始化一个json:
struct json_object *obj_a=NULL;
obj_a = json_object_new_object(); //初始化了一块json空间
add_string_to_object(obj_a, "test", "hillo");
那么obj_a的值如下:
{
“test”:"hillo"
}
6. json_object_object_add
该函数是向json文本中填加一个json文件
obj_a:
{
"test": "hi"
}
obj_b:
{
"test_b":"good"
}
json_object_object_add(obj_a, "B_info", obj_b);
最终obj_a的内容如下:
obj_a:
{
"test": "hi"
“B_info”:
{
"test_b":"good"
}
}
此为使用过程中记录,如有错误请帮忙指出,感谢感谢!