c++ - Json输出成单行

标签 c++ json boost

问题:

使用下面的示例代码,能够创建一个 json 字符串并如下打印,我的要求是打印成一行(下面也是),没有空格或制表符,我可以使用 boost 还是需要显式删除来自字符串。

#include "boost/property_tree/json_parser.hpp"
#include <boost/property_tree/ptree.hpp>
#include <sstream>
#include <iostream>

    int main()
    {
            boost::property_tree::ptree root;
            root.put("sessionId", "123456");
            root.put("applicationName", "Sample_Appliation");
            root.put("applicationId", "null");
            root.put("logMessage", "Sample Message");
            root.put("loggingTime", "2020-03-17T13:26:45.013");
            std::stringstream ss;
            boost::property_tree::write_json(ss, root);
            std::cout << ss.str() << std::endl;
            return 0;
    }

输出:

{
    "sessionId": "123456",
    "applicationName": "Sample_Appliation",
    "applicationId": "null",
    "logMessage": "Sample Message",
    "loggingTime": "2020-03-17T13:26:45.013"
}

预期:

{"sessionId": "123456","applicationName": "Sample_Appliation","applicationId": "null","logMessage": "Sample Message","loggingTime": "2020-03-17T13:26:45.013"}

最佳答案

boost::property_tree::write_json 有第三个参数,名为pretty,默认值为true,只需传递false 作为禁用 pretty-print 的第三个参数。

关于c++ - Json输出成单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65388896/

相关文章:

python - 如何改进 Python C Extensions 文件行读取?

java - 将 JSON 字段序列化为 JSON

javascript - AJAX获取对象并将json字符串数据与当前值进行比较

javascript - 浏览复杂的 JSON

c++ - boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) undefined symbol

c++ - 如何使用C++ Boost库中的for_each?

c++ - n 值 UUID 生成器,可重用 ID

c++ - Qt 读取串行数据 - 工作代码但需要更可靠

c++ - Boost SerialPort 的意外结果

c++ - 使用 C++ 和 BOOST 读取 JSON 文件