gpt4 book ai didi

c++ - C++ 中的 JSONify 字符串

转载 作者:搜寻专家 更新时间:2023-10-31 01:20:16 25 4
gpt4 key购买 nike

在我的程序中,我需要输出简单的 JSON 数据。我在 C++ 中查看了许多 JSON 库,它们对我的任务来说太复杂了。有没有更简单的方法,如何从任何 C++ 字符串创建 JSON 安全字符串?

string s = "some potentially dangerous string";
cout << "{\"output\":\"" << convert_string(s) << "\"}";

函数 convert_string(string s) 会是什么样子?

谢谢

最佳答案

如果您的数据是 UTF-8,根据 http://json.org/ 上的字符串图:

#include <sstream>
#include <string>
#include <iomanip>
std::string convert_string(std::string s) {
std::stringstream ss;
for (size_t i = 0; i < s.length(); ++i) {
if (unsigned(s[i]) < '\x20' || s[i] == '\\' || s[i] == '"') {
ss << "\\u" << std::setfill('0') << std::setw(4) << std::hex << unsigned(s[i]);
} else {
ss << s[i];
}
}
return ss.str();
}

关于c++ - C++ 中的 JSONify 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5078626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com