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

cJSON怎么替換JSON數組的值

老白2年前9瀏覽0評論

cJSON是一個用于解析和構造JSON數據的開源工具。在JSON中,數組是由方括號包圍的一組值。在某些情況下,我們可能需要修改JSON數組中的某個值。下面介紹如何使用cJSON來替換JSON數組的值。

// 假設我們要修改以下JSON數組中第二個元素的值
{
"fruits" : [
{
"name" : "apple",
"price" : 2.5
},
{
"name" : "banana",
"price" : 1.5
},
{
"name" : "orange",
"price" : 3.0
}
]
}

首先,我們需要通過cJSON_Parse函數解析JSON數據:

cJSON *root = cJSON_Parse(json_str);

然后,我們可以通過cJSON_GetObjectItem函數獲取fruits數組:

cJSON *fruits = cJSON_GetObjectItem(root, "fruits");

接著,我們可以通過cJSON_GetArrayItem函數獲取數組中的第二個元素:

cJSON *banana = cJSON_GetArrayItem(fruits, 1);

最后,我們可以使用cJSON_SetNumberValue函數將banana的price屬性值設置為新的值:

cJSON_SetNumberValue(cJSON_GetObjectItem(banana, "price"), 2.0);

修改后的JSON數據如下:

{
"fruits" : [
{
"name" : "apple",
"price" : 2.5
},
{
"name" : "banana",
"price" : 2.0
},
{
"name" : "orange",
"price" : 3.0
}
]
}

最后別忘了將修改后的JSON數據通過cJSON_Print函數進行打印:

char *out = cJSON_Print(root);
printf("%s\n", out);
cJSON_free(out);

以上就是使用cJSON替換JSON數組的值的方法。