欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c json 重復鍵

李中冰2年前12瀏覽0評論

CJSON是一個用C語言編寫的輕量級JSON解析器。JSON由鍵和值組成,鍵是唯一的,但CJSON允許重復的鍵。那么CJSON是如何處理重復鍵的呢?

{
"name": "張三",
"age": 20,
"hometown": {
"city": "北京",
"city": "上海"
}
}

在上面的JSON中,hometown對象有兩個相同的鍵:"city"。CJSON中處理這種情況的方式是將最后一個鍵值對保存。也就是說,解析器會把JSON解析成以下內容:

{
"name": "張三",
"age": 20,
"hometown": {
"city": "上海"
}
}

如果想要獲取所有的鍵值對,可以使用cJSON_GetObjectItemCaseSensitive函數。這個函數可以獲取指定名稱的所有鍵值對,并返回一個數組。

cJSON *hometown = cJSON_GetObjectItemCaseSensitive(root, "hometown");
cJSON *cityArray = cJSON_GetObjectItemCaseSensitive(hometown, "city");    
for (int i = 0; i< cJSON_GetArraySize(cityArray); i++) {
cJSON *cityNode = cJSON_GetArrayItem(cityArray, i);
printf("%s\n", cityNode->valuestring);
}

上面的代碼會輸出"hometown"對象中所有的"city"鍵的值。