From d483d17d8caefdeeb62a5131ac8e501922d650b6 Mon Sep 17 00:00:00 2001
From: cheliequan <liequanche@126.com>
Date: 星期四, 12 一月 2023 17:19:40 +0800
Subject: [PATCH] 优化bus_dbapi_get_json_data使用json接口获取data的value字段

---
 util.cpp |   19 +++++++------------
 1 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/util.cpp b/util.cpp
index af742e0..6f7b235 100644
--- a/util.cpp
+++ b/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;
 

--
Gitblit v1.8.0