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數組的值的方法。
上一篇vue 怎么嚴格模式