在C++中,你可以使用std::ostringstream
结合流操作符<<
来格式化JSON数据。虽然这不是一个专门的JSON库,但这种方法可以满足基本的格式化需求。下面是一个简单的例子:
#include <iostream>
#include <sstream>
#include <string>
std::string formatJson(const std::string& json) {
std::ostringstream ss;
size_t pos = 0;
while (pos < json.size()) {
if (json[pos] == '{' || json[pos] == '[') {
ss << json[pos];
pos++;
while (pos < json.size() && json[pos] != '}' && json[pos] != ']') {
if (json[pos] == ',' && (pos == 0 || json[pos - 1] == '{' || json[pos - 1] == '[')) {
ss << '\n';
}
ss << json[pos];
pos++;
}
if (json[pos] == '}' || json[pos] == ']') {
ss << '\n';
}
} else {
ss << json[pos];
pos++;
}
}
return ss.str();
}
int main() {
std::string json = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
std::string formattedJson = formatJson(json);
std::cout << formattedJson << std::endl;
return 0;
}
这个例子中的formatJson
函数接受一个JSON字符串,然后使用std::ostringstream
来格式化它。这个函数会在每个键值对之间添加换行符,并在大括号和大括号之间、方括号和大括号之间添加换行符。当然,这个函数只是一个简单的实现,你可能需要根据你的需求对其进行修改。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。