c++基础(七):字符串拼接,json对象组装

itlao6 原创 开发&源码 C++评论1,323字数 2184阅读7分16秒阅读模式

c++算法使用json输出最终结果给java使用,于是,开始了json对象的组装之旅...

首先,对不同数据类型,封装不同的数据组装函数文章源自IT老刘-https://w0.itlao6.com/731.html

  1. /**
  2. * 拼接int
  3. */
  4. std::string getKeyValue(std::string sKey, int iValue)
  5. {
  6. char szDoubleQutoes[] = "\"";
  7. char szColon[] = ":";
  8. char szValue[50] = { 0 };
  9. std::string strResult;
  10. strResult.append(szDoubleQutoes);
  11. strResult.append(sKey);
  12. strResult.append(szDoubleQutoes);
  13. strResult.append(szColon);
  14. sprintf(szValue, "%d", iValue);
  15. strResult.append(szValue);
  16. return strResult;
  17. }
  18. /**
  19. * 拼接float,保留3位
  20. */
  21. std::string getKeyValue(std::string sKey, float fValue)
  22. {
  23. char szDoubleQutoes[] = "\"";
  24. char szColon[] = ":";
  25. char szValue[50] = { 0 };
  26. std::string strResult;
  27. strResult.append(szDoubleQutoes);
  28. strResult.append(sKey);
  29. strResult.append(szDoubleQutoes);
  30. strResult.append(szColon);
  31. sprintf(szValue, "%0.3f", fValue);
  32. strResult.append(szValue);
  33. return strResult;
  34. }
  35. /**
  36. * 拼接string
  37. */
  38. std::string getKeyValue(std::string sKey, std::string sValue)
  39. {
  40. char szDoubleQutoes[] = "\"";
  41. char szColon[] = ":";
  42. std::string strResult;
  43. strResult.append(szDoubleQutoes);
  44. strResult.append(sKey);
  45. strResult.append(szDoubleQutoes);
  46. strResult.append(szColon);
  47. strResult.append(szDoubleQutoes);
  48. strResult.append(sValue);
  49. strResult.append(szDoubleQutoes);
  50. return strResult;
  51. }
  52. /**
  53. * 拼接object
  54. */
  55. std::string getKeyValueObject(std::string sKey, std::string sObject)
  56. {
  57. char szDoubleQutoes[] = "\"";
  58. char szColon[] = ":";
  59. std::string strResult;
  60. strResult.append(szDoubleQutoes);
  61. strResult.append(sKey);
  62. strResult.append(szDoubleQutoes);
  63. strResult.append(szColon);
  64. strResult.append(sObject);
  65. return strResult;
  66. }
  67. /**
  68. * 拼接array
  69. */
  70. std::string getKeyValueArray(std::string sKey, std::string sArray)
  71. {
  72. char szDoubleQutoes[] = "\"";
  73. char szColon[] = ":";
  74. std::string strResult;
  75. strResult.append(szDoubleQutoes);
  76. strResult.append(sKey);
  77. strResult.append(szDoubleQutoes);
  78. strResult.append(szColon);
  79. strResult.append("[");
  80. strResult.append(sArray);
  81. strResult.append("]");
  82. return strResult;
  83. }

调用,及最终json组装,增加 { }及,分隔符文章源自IT老刘-https://w0.itlao6.com/731.html

  1. int main()
  2. {
  3. int value1 = 1;
  4. float value2 = 1.0f;
  5. std::string strJsonResult("{");
  6. strJsonResult.append(getKeyValue("key1", value1));
  7. strJsonResult.append(",");
  8. strJsonResult.append(getKeyValue("key2", value2));
  9. strJsonResult.append("}");
  10. }

原文:简书ThinkinLiu 博客: IT老五文章源自IT老刘-https://w0.itlao6.com/731.html

c++基础(一):string转wstring及文件拷贝
c++基础(二):字符串替换及文件路径截取文件名
c++基础(三):数组自增处理及字符串转int,double
c++基础(四):int转string及数组默认值
c++基础(五):文件逐行读取,并根据字符分割数据
c++基础(六):matlab时间转换,ascii转char及时间格式转换文章源自IT老刘-https://w0.itlao6.com/731.html 文章源自IT老刘-https://w0.itlao6.com/731.html
继续阅读
weinxin
我的微信公众号
微信扫一扫关注公众号,不定时更新
itlao6
  • 本文由 发表于 2018年 12月 27日 14:05:19
  • 转载请务必保留本文链接:https://w0.itlao6.com/731.html
评论  0  访客  0
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定