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 に答える