色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 解析json多個key

榮姿康1年前8瀏覽0評論

在使用C語言進行解析JSON時,有時候需要同時解析多個key值。

首先,需要使用一個JSON庫,例如cJSON。

以以下JSON為例:

{
"name": "小明",
"age": 18,
"gender": "男",
"hobbies": ["swimming", "reading"],
"address": {
"province": "廣東",
"city": "深圳"
}
}

假設我們需要解析出name、age和address.province三個key的值。

cJSON *root = cJSON_Parse(jsonStr);
if (!root) {
// 解析失敗
}
cJSON *name = cJSON_GetObjectItem(root, "name");
if (!name) {
// 找不到name
}
cJSON *age = cJSON_GetObjectItem(root, "age");
if (!age) {
// 找不到age
}
cJSON *address = cJSON_GetObjectItem(root, "address");
if (!address) {
// 找不到address
}
cJSON *province = cJSON_GetObjectItem(address, "province");
if (!province) {
// 找不到province
}
printf("name: %s\nage: %d\nprovince: %s\n", name->valuestring, age->valueint, province->valuestring);

以上代碼首先將JSON字符串解析成cJSON對象,然后通過cJSON_GetObjectItem函數獲取對應的key值,最后通過對象的valuestring或valueint屬性獲取值。

需要注意的是,如果獲取不到對應的key值,cJSON_GetObjectItem函數會返回NULL。

通過以上方式,我們就可以方便地解析多個key值,并得到相應的值。