我正在使用https://github.com/nlohmann/json,它工作正常。但是我發現困難,創建以下JSON outout使用nlohmann json在C++中創建嵌套的json對象
{
"Id": 1,
"Child": [
{
"Id": 2
},
{
"Id": 3,
"Child": [
{
"Id" : 5
},
{
"Id" : 6
}
]
},
{
"Id": 4
}
]
}
每個節點都必須有一個id和陣列(「孩子」元素)。任何孩子都可以遞歸地繼續擁有Id或Child。上面的json只是一個例子。我想要的是使用nlohmann json在父子節點之間創建一個鏈。
數字1,2,3 ......隨機挑選。我們現在不關心這些價值。
任何想法如何創建它?
代碼到目前爲止
#include <iostream>
#include <string>
#include <vector>
#include "json.hpp"
using json = nlohmann::json;
struct json_node_t {
int id;
std::vector<json_node_t> child;
};
int main(int argc, char** argv) {
json j;
for(int i = 0; i < 3; i++) {
json_node_t n;
n.id = i;
j["id"] = i;
if (i < 2) {
j["child"].push_back(n);
}
}
return 0;
}
我們怎麼來推斷,5 6應該是3的孩子,而不是2,比如說2?這篇文章有許多與上一個問題相同的問題(https://stackoverflow.com/questions/45882363/c-create-json-output-from-a-tree-like-input)。 – AndyG
我並不在乎id元素的值。我只想找出如何使用nlohmann json – cateof