У меня есть следующий объект JSON
{
"prog":[
{
"iUniqueID":1,
"bGroup":1,
"inFiles":[
{
"sFileType":"Zonal Data 1",
"bScenarioSpecific":0,
"pos":{
"x1":1555,
"y1":-375,
"x2":1879,
"y2":-432
}
},
{
"sFileType":"Record File",
"bScenarioSpecific":0,
"pos":{
"x1":1555,
"y1":-436,
"x2":1879,
"y2":-493
}
}
],
"outFiles":[
{
"sFileType":"Record File 1",
"bScenarioSpecific":1,
"pos":{
"x1":2344,
"y1":-405,
"x2":2662,
"y2":-462
}
}
]
},
{
"iUniqueID":2,
"bGroup":1,
"inFiles":[
{
"sFileType":"Matrix File 1",
"bScenarioSpecific":0,
"pos":{
"x1":98,
"y1":-726,
"x2":422,
"y2":-783
}
},
{
"sFileType":"Matrix File 2",
"bScenarioSpecific":0,
"pos":{
"x1":98,
"y1":-787,
"x2":422,
"y2":-844
}
}
],
"outFiles":[
{
"sFileType":"Record File 1",
"bScenarioSpecific":1,
"pos":{
"x1":887,
"y1":-966,
"x2":1205,
"y2":-1023
}
}
]
}
]
}
Как я могу итеративно получить доступ к x1 объектов внутри «inFiles»? Или вообще, как я могу получить доступ к значениям, хранящимся в подмассиве и подобъектах, используя rapidjson. Вот что у меня есть до сих пор
const Value& prog = document["prog"];
assert(prog.IsArray());
for (rapidjson::Value::ConstValueIterator itr = prog.Begin(); itr != prog.End(); ++itr) {
}
Я пробовал разные вещи, но мой код не компилируется, поэтому мне показалось, что было бы продуктивно добавить его в описание проблемы.
jq
?cat f.json | jq .prog[].inFiles[].pos.x1
- person Martin York   schedule 11.08.2018