当我使用json-c 0.9解析cstr到json对象时,我发现如果json_tokener_parse失败,json_object的返回地址是errcode
struct json_object* json_tokener_parse(const char *str){
struct json_tokener* tok;
struct json_object* obj;
tok = json_tokener_new();
obj = json_tokener_parse_ex(tok, str, -1);
if(tok->err != json_tokener_success)
obj = (struct json_object*)error_ptr(-tok->err);
json_tokener_free(tok);
return obj;
}
这是json-c0.9中的代码 这是一个错误?我该怎么检查它是否失败了?
答案 0 :(得分:0)
下面提到的是我用来将C结构转换为JSON对象的代码供您参考:
void fill_json_object(st_service *data) {
st_service *data2;
json_object *jrecord_id;
json_object *jservice;
jobj = json_object_new_object();
data2 = (st_request_web_service *) data;
jrecord_id = json_object_new_int(data2->i_rec_id);
jservice = json_object_new_int(data2->i_service_id);
json_object_object_add(jobj, "record_id", jrecord_id);
json_object_object_add(jobj, "service", jservice);
return;
}