当json_tokener_parse失败时我该怎么办?

时间:2013-11-29 03:56:56

标签: c json-c

当我使用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中的代码 这是一个错误?我该怎么检查它是否失败了?

1 个答案:

答案 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;
}