0

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

4

1 回答 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;
}
于 2014-08-20T07:00:53.837 回答