循环 json 数组项

问题描述

我有一个带有 nlohmann::json 数组类型对象的 C++ 代码。所以它看起来像

[{"abc":-0.09275999665260315,"def":-0.06765999644994736,"ghi":0.0010000000474974513},{"abc":-0.0027000000700354576,"def":0.014310000464320183,"ghi":1.5950000286102295},...]

现在,我想遍历这些元素。我所做的基本上是按照这里写的:https://json.nlohmann.me/api/basic_json/items/,但它似乎并没有真正起作用。 我的代码是(json 对象被称为 lines):

std::cout << lines.dump() << std::endl;
std::cout << "size is: "<< lines.size() << std::endl;
for(auto& elm : lines.items()){
    ++nLines;
    nlohmann::json line = elm.value();
    std::cout << elm << std::endl;
    std::cout << "line: " << line.dump() << std::endl;
    ...
}

我的输出是(在第一次循环后截断,因为下游代码崩溃):

[{"abc":-0.09275999665260315,...]
size is: 638
{"0":null}
line: null

我做错了什么?

先谢谢你!

康妮

解决方法

好的,我发现我的原始 json 文件有问题。迭代本身很好。为浪费大家的时间而道歉。