gpt4 book ai didi

c++ - 使用nlohmann在cpp中输出Json数组

转载 作者:行者123 更新时间:2023-11-30 04:44:48 30 4
gpt4 key购买 nike

我使用以下代码使用 nlohmann 库创建了 json 对象:

nlohmann::json dataJson;
auto data = dataJson.array();

data[0]["message"] = "String";
data[0]["timestamp"] = 123;

输出是

{"message":"String", "timestamp": 123}

但我希望输出是

[{"message":"String", "timestamp": 123}] 

在一个数组中,以便能够拥有多条消息。

所以我想问一下在数组中添加值的最佳方法是什么,因为当我打印它时,数组的输出为空。

我是 cpp 的新手,所以如果这个问题被认为太简单,我想道歉,但我们将不胜感激。

最佳答案

nlohmann_json 是一个非常有用的库,但它确实有一些怪癖。我发现最好明确说明意图。

Lambda 在这里非常有用:

#include <iostream>
#include <nlohmann/json.hpp>

int main() {

auto make_object = []
{
auto result = nlohmann::json::object();
result["message"] = "String";
result["timestamp"] = 123;
return result;
};

auto make_array = [&make_object]
{
auto result = nlohmann::json::array();
result.push_back(make_object());
return result;
};

auto data = make_array();
std::cout << data.dump() << std::endl;

return 0;
}

预期输出:

[{"message":"String","timestamp":123}]

关于c++ - 使用nlohmann在cpp中输出Json数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57569744/

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