c语言对json的解析

struct json_object *obj_pck = NULL;
obj_pck = json_tokener_parse(_036400_up->Rescord_data);   //字符串转换成对象


创建一个Json对象
struct json_object *obj_pck_data = NULL;
obj_pck_data = json_object_new_object();


创建一个Json数组对象
orig_acc = json_object_new_array();


/**字符串转换成对象**/
struct json_object *obj_pck = NULL;
obj_pck = json_tokener_parse(_037000_up->Rescord_data);
((long)obj_pck < 0)   /**Json格式错误**/


计算数组对象的总条数
i_num = json_object_array_length(obj_pck);


从数组对象中取出单条对象
obj_pck_temp = json_object_array_get_idx (obj_pck,i);


从对象中取出标签下的对象
obj_pck_data = json_object_object_get(obj_pck_temp,"STD_ACC_DTL_DATA_STRU");


删除
obj_pck_data = json_object_object_del(obj_pck_temp,"STD_ACC_DTL_DATA_STRU");


json_object_new_string("shuju");   /**把字符串转换成对象**/


/*****将json格式的字符串转换成json对象*****/
obj_pck = json_tokener_parse(_037000_up->Rescord_data);


往对象中的某个标签下写数据
json_object_object_add(obj_pck_temp,"ERR_REASON",json_object_new_string("其他错误"));


把单条数据的对象放到数组对象中
json_object_array_add(err_acc,obj_pck_temp);


把单个对象转换成字符串
json_object_get_string(err_acc);


/将json对象转换成json格式的string/
json_object_to_json_string(err_acc); 


把对象转换成int
json_object_get_int(err_num);


把对象转换成double
json_object_get_double(err_num);


判断对象是什么类型(成功返回1)
json_object_is_type(err_test),json_type_int);


获取对象类型
json_object_get_type(err_test);


数据类型:json_type_boolean, json_type_double, 
         json_type_int, json_type_object, 
         json_type_array, json_type_string,




判断是否为json格式
jobj = json_tokener_parse(str);


if (is_error(jobj)) {


printf("no\n");


return 0;


} else {


printf("ok\n");


json_object_put(jobj);


return 1;

猜你喜欢

转载自blog.csdn.net/woailp___2005/article/details/79622442