当前位置: 代码迷 >> 综合 >> C++ Poco JSON中文解析出现乱码问题
  详细解决方案

C++ Poco JSON中文解析出现乱码问题

热度:19   发布时间:2024-01-26 02:30:55.0

C++ Poco JSON中文解析出现乱码问题

1. 问题

用C++ 库 POCO 解析JSON时,看到这篇帖子Poco JSON解析, 发现两层的中文解析乱码,如:

	Poco::JSON::Object o1,o2;o1.set("wo","地址");o2.set("wo2","地址");o1.set("wo3", o2);std::stringstream ostr;o1.stringify(ostr);std::cout << ostr.str() << std::endl;

编译结果:

{"wo" : "地址","wo3" : {"wo2" : "\u5730\u5740"}
}Process finished with exit code 0

o2无法解析中文。

2. 解决方案:

查看了Object的cpp文件,发现嵌套json里面应该转换成struct对象才可以正常显示!
如:

	Poco::JSON::Object o1;Poco::JSON::Object::Ptr o2 = new Poco::JSON::Object;o1.set("wo","地址");o2->set("wo2","地址");o1.set("wo3", Poco::JSON::Object::makeStruct(o2));std::stringstream ostr;o1.stringify(ostr);std::cout << ostr.str() << std::endl;输出:
{"wo":"地址","wo3":{ "wo2" : "地址" }}
  相关解决方案