2019-08-19 报文转换 cjson

/** @fn std::string clientframework::TGenJSONStr(const T& tJSONStruct) * @brief 结构体生成JSON字符 * @param (IN)const T& tJSONStruct 结构体 * @return JSON字符串,utf-8格式 */

template<class T>

std::string TGenJSONStr(const T& tJSONStruct)

{ std::string strJSON; // 根节点

cJSON* pRoot = cJSON_CreateObject();

if (nullptr == pRoot) { return strJSON; } //

结构体节点 cJSON* pCJSONPtr = tJSONStruct.CJSONPtr();

if (nullptr == pCJSONPtr)

 { cJSON_Delete(pRoot); return strJSON; }

cJSON_AddItemToObject(pRoot, tJSONStruct.Name(), pCJSONPtr);

char* pJSON = cJSON_Print(pRoot);

 if (pJSON != nullptr)

{ strJSON = std::string(pJSON);

cJSON_free(pJSON);

pJSON = nullptr; }

cJSON_Delete(pRoot); pRoot = nullptr; return strJSON; }


template  <class T>

std::string TGenJSONStr(const T& tJSONStruct)

{

 std::string strJSON; // 结构体节点

cJSON* pCJSONPtr = tJSONStruct.CJSONPtr();

if (nullptr == pCJSONPtr)

{ return strJSON; }

char* pJSON = cJSON_Print(pCJSONPtr);

 if (pJSON != nullptr)

{

strJSON = std::string(pJSON);

cJSON_free(pJSON); pJSON = nullptr; }

 return strJSON;

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容