gpt4 book ai didi

c - 在 c 中迭代一个 cJSON 嵌套对象

转载 作者:太空宇宙 更新时间:2023-11-04 05:36:16 24 4
gpt4 key购买 nike

如何迭代嵌套的 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"
}
}
};

如何在 C 中打印 deviceData 的键(ex device0 device1 device 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;
}
}

关于c - 在 c 中迭代一个 cJSON 嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34876516/

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