如何迭代嵌套的cJSON对象?我想从C中的deviceData父对象获取(打印)所有键和值。它是一个cJson对象。
obj = { "command": "REPLACE_ROWS",
"table": "Device.XXX",
"deviceData": {
"device0": {
"DeviceName": "Filtered Device",
"MACAddress": "112233445599"
},
"device1": {
"DeviceName": "Filtered Device",
"MACAddress": "112233445599"
},
"device2": {
"DeviceName": "Filtered Device",
"MACAddress": "112233445599"
}
}
};
Run Code Online (Sandbox Code Playgroud)
如何在C中打印deviceData的键(例如device0 device1设备2等)。预先感谢。
假设obj是一个包含您的对象的字符串,请对其进行解析,然后使用它next进行迭代:
cJSON * root = cJSON_Parse(obj);
cJSON * deviceData = cJSON_GetObjectItem(root,"deviceData");
if( deviceData ) {
cJSON *device = deviceData->child;
while( device ) {
// get and print key
device = device->next;
}
}
Run Code Online (Sandbox Code Playgroud)