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

cJSON怎么替換JSON數(shù)組的值

老白2年前9瀏覽0評(píng)論

cJSON是一個(gè)用于解析和構(gòu)造JSON數(shù)據(jù)的開(kāi)源工具。在JSON中,數(shù)組是由方括號(hào)包圍的一組值。在某些情況下,我們可能需要修改JSON數(shù)組中的某個(gè)值。下面介紹如何使用cJSON來(lái)替換JSON數(shù)組的值。

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

首先,我們需要通過(guò)cJSON_Parse函數(shù)解析JSON數(shù)據(jù):

cJSON *root = cJSON_Parse(json_str);

然后,我們可以通過(guò)cJSON_GetObjectItem函數(shù)獲取fruits數(shù)組:

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

接著,我們可以通過(guò)cJSON_GetArrayItem函數(shù)獲取數(shù)組中的第二個(gè)元素:

cJSON *banana = cJSON_GetArrayItem(fruits, 1);

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

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

修改后的JSON數(shù)據(jù)如下:

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

最后別忘了將修改后的JSON數(shù)據(jù)通過(guò)cJSON_Print函數(shù)進(jìn)行打印:

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

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