cheliequan
2023-01-12 d483d17d8caefdeeb62a5131ac8e501922d650b6
优化bus_dbapi_get_json_data使用json接口获取data的value字段
1个文件已修改
19 ■■■■■ 已修改文件
util.cpp 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
util.cpp
@@ -86,13 +86,9 @@
}*/
    int ret = -1;
    size_t data_len = 0;
    size_t success_len = 0;
    size_t total_len = 0;
    const char * ptr_data = NULL;
    const char * ptr_value = NULL;    
    const char * success_name = "success";
    const char * msg_name = "msg";         
    const char * data_quote_name = "\"data\"";
    if(NULL == *pptr_data)
    {
@@ -109,7 +105,6 @@
    int  success_val = yyjson_get_bool(success);
    printf("success: %d\n", success_val);
    printf("success_len:%lu\n",yyjson_get_len(success));
    if(!success_val)
    {
        yyjson_doc_free(doc);
@@ -121,13 +116,13 @@
    yyjson_val *msg = yyjson_obj_get(root, "msg");    
    printf("msg: %s\n", yyjson_get_str(msg));    
    total_len = strlen(json);
    ptr_data = strstr(json, data_quote_name);
    ptr_value = strchr(ptr_data, ':');
    ptr_value++;
    //去除最后一个"}""
    data_len =  total_len - (ptr_value - json) - 1;
    // Get root["data"]
    //yyjson_val *msg = yyjson_obj_get(root, "data");
    yyjson_val *data = yyjson_obj_get(root, "data");
    ptr_value = yyjson_val_write(data, YYJSON_WRITE_NOFLAG, &data_len);
    printf("data: %s\n", ptr_value);
    printf("len: %lu\n", data_len);
    memcpy(*pptr_data, ptr_value, data_len);
    ret = 0;