From 62f8f9e4ee066ecb562de7969180a07cb3d41f57 Mon Sep 17 00:00:00 2001
From: cheliequan <liequanche@126.com>
Date: 星期二, 17 一月 2023 16:40:22 +0800
Subject: [PATCH] 增加根据protobuf转json函数 template <class T> bool bus_dbapi_get_json( T &list, string &json)

---
 util.h |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/util.h b/util.h
index 5539387..fe470fa 100644
--- a/util.h
+++ b/util.h
@@ -38,6 +38,36 @@
 bool bus_dbapi_get_str(void *handle, const char *topic, char **pptr_str);
 int get_value_by_key(char *json, const char *key, char **pptr_data);
 
+
+template <class T>
+bool bus_dbapi_get_json( T &list, string &json) 
+{
+    using TMPT = typename std::remove_reference<decltype(*list.begin())>::type;
+    TMPT t;
+	string jsonString;
+    int len = list.size();
+	bRet = false;
+
+	jsonString += "[";
+	
+    for ( int i= 0 ; i < len ; i++ )
+    {
+     	string tmpjsonString;
+        bRet = proto_to_json(list[i], tmpjsonString);
+		if ( (len > 1) &&(i < len - 1))
+		{
+		    tmpjsonString += ",";
+		}
+		jsonString += tmpjsonString;
+    }	
+
+	jsonString += "]";
+
+	json = jsonString;
+
+}
+
+
 template <class T>
 bool bus_dbapi_get_list(char *json, const char *flag_key, const char *data_key, T &list) {
     char *ptr_value = NULL;

--
Gitblit v1.8.0