温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

格式化JSON数据,C++ format能行吗

发布时间:2024-10-11 09:16:35 来源:亿速云 阅读:82 作者:小樊 栏目:编程语言

在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来格式化它。这个函数会在每个键值对之间添加换行符,并在大括号和大括号之间、方括号和大括号之间添加换行符。当然,这个函数只是一个简单的实现,你可能需要根据你的需求对其进行修改。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++
AI