2013-11-29 123 views
0

当我使用JSON-C 0.9解析CSTR到JSON对象,我发现,如果json_tokener_parse失败,JSON_OBJECT的返回地址是ERRCODE我该怎么办时json_tokener_parse失败

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 这是一个错误?我应该检查它是否失败?

+1

您的代码上面提取错误信息是假的,但很难不规范的话。 –

回答

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; 
} 
相关问题