c++:json字符串拼接,json对象组装
2023-09-11 14:16:45 时间
c++算法使用json输出最终结果给java使用,于是,开始了json对象的组装之旅...
首先,对不同数据类型,封装不同的数据组装函数
/**
* 拼接int
*/
std::string getKeyValue(std::string sKey, int iValue)
{
char szDoubleQutoes[] = "\"";
char szColon[] = ":";
char szValue[50] = { 0 };
std::string strResult;
strResult.append(szDoubleQutoes);
strResult.append(sKey);
strResult.append(szDoubleQutoes);
strResult.append(szColon);
sprintf(szValue, "%d", iValue);
strResult.append(szValue);
return strResult;
}
/**
* 拼接float,保留3位
*/
std::string getKeyValue(std::string sKey, float fValue)
{
char szDoubleQutoes[] = "\"";
char szColon[] = ":";
char szValue[50] = { 0 };
std::string strResult;
strResult.append(szDoubleQutoes);
strResult.append(sKey);
strResult.append(szDoubleQutoes);
strResult.append(szColon);
sprintf(szValue, "%0.3f", fValue);
strResult.append(szValue);
return strResult;
}
/**
* 拼接string
*/
std::string getKeyValue(std::string sKey, std::string sValue)
{
char szDoubleQutoes[] = "\"";
char szColon[] = ":";
std::string strResult;
strResult.append(szDoubleQutoes);
strResult.append(sKey);
strResult.append(szDoubleQutoes);
strResult.append(szColon);
strResult.append(szDoubleQutoes);
strResult.append(sValue);
strResult.append(szDoubleQutoes);
return strResult;
}
/**
* 拼接object
*/
std::string getKeyValueObject(std::string sKey, std::string sObject)
{
char szDoubleQutoes[] = "\"";
char szColon[] = ":";
std::string strResult;
strResult.append(szDoubleQutoes);
strResult.append(sKey);
strResult.append(szDoubleQutoes);
strResult.append(szColon);
strResult.append(sObject);
return strResult;
}
/**
* 拼接array
*/
std::string getKeyValueArray(std::string sKey, std::string sArray)
{
char szDoubleQutoes[] = "\"";
char szColon[] = ":";
std::string strResult;
strResult.append(szDoubleQutoes);
strResult.append(sKey);
strResult.append(szDoubleQutoes);
strResult.append(szColon);
strResult.append("[");
strResult.append(sArray);
strResult.append("]");
return strResult;
}
调用,及最终json组装,增加 { }及,分隔符
int main()
{
int value1 = 1;
float value2 = 1.0f;
std::string strJsonResult("{");
strJsonResult.append(getKeyValue("key1", value1));
strJsonResult.append(",");
strJsonResult.append(getKeyValue("key2", value2));
strJsonResult.append("}");
}
相关文章
- C++ 类的交叉引用
- C++ 反反调试(NtQueryInformationProcess)
- C++处理char*,char[],string三种类型间的转换
- 二、OCR-docker部署最新版PaddleServing和PaddleOCR,服务端,客户端,dockerfile部署-C++部署
- Word处理控件Aspose.Words功能演示:使用 C++ 在 Word 文档中查找和替换文本
- C++对象模型——关键词所带来的差异(第一章)
- [c++菜鸟]《Accelerate C++》读书笔记
- 使用C++的函数memset()时要注意它的操作对象是每一个字节
- 27 C++ - 对象成员变量和函数的存储
- Inside C++ object Model--对象模型概述
- 使用Nemiver调试器来调试 C/C++ 程序
- C++ 类对象作为类成员
- C++ 11 - STL - 函数对象(Function Object) (下)
- 《C++编程规范:101条规则、准则与最佳实践》——1.3使用自动构建系统
- 基于 C++ 实现数字微流控生物芯片模拟界面【100010580】
- C++计算矩阵对角线和的程序
- 在C++中与QML对象交互
- C++中的容器
- 【C++】对象模型和this指针
- 【C++】对象初始化和清理
- 浅析Json介绍(节省流量)、Java中JSON字符串如何与Java对象互相转换/如何与List互转/如何与Map互转(toBean方法)
- 走进C++程序世界------异常处理
- 关于C++输出中文乱码的解决方案
- VC++适合做什么
- C/C++ 全排列问题