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

c json對應對象和集合

謝彥文2年前8瀏覽0評論

c json是一款輕量級的數據序列化和反序列化工具,它在很多場景下能夠方便地處理數據。在c json中,對應對象和集合的處理非常簡單,使用起來也很方便。

我們先來看一下如何創建一個json對象:

cJSON *root=cJSON_CreateObject();
cJSON_AddStringToObject(root, "name", "John");
cJSON_AddNumberToObject(root, "age", 25);
cJSON_AddBoolToObject(root, "is_student", 1);

在上面的代碼中,我們首先創建了一個cjson的對象root,然后通過cJSON_Add*ToObject的方式添加了三個字段,分別是name、age和is_student,它們的值分別是"John"、25和true。

接著我們來看一下如何創建一個json數組:

cJSON *array=cJSON_CreateArray();
cJSON *obj1=cJSON_CreateObject();
cJSON_AddStringToObject(obj1, "name", "Lucas");
cJSON_AddNumberToObject(obj1, "age", 22);
cJSON_AddBoolToObject(obj1, "is_student", 1);
cJSON_AddItemToArray(array, obj1);
cJSON *obj2=cJSON_CreateObject();
cJSON_AddStringToObject(obj2, "name", "Mike");
cJSON_AddNumberToObject(obj2, "age", 21);
cJSON_AddBoolToObject(obj2, "is_student", 0);
cJSON_AddItemToArray(array, obj2);

在上面的代碼中,我們首先創建了一個json數組array,然后通過cJSON_CreateObject的方式創建了兩個json對象obj1和obj2,然后通過cJSON_Add*ToObject的方式添加了各自的字段,最后通過cJSON_AddItemToArray將它們添加到了數組中。

在使用c json處理json數據時,列表操作也是比較常見的,下面我們來看一下如何對json數組進行遍歷操作:

cJSON *array=cJSON_Parse(json_str);
if(array==NULL){
return -1;
}
cJSON *item=array->child;
while(item!=NULL){
char *name=cJSON_GetObjectItem(item, "name")->valuestring;
int age=cJSON_GetObjectItem(item, "age")->valueint;
int is_student=cJSON_GetObjectItem(item, "is_student")->valueint;
printf("%s %d %d\n", name, age, is_student);
item=item->next;
}

在上面的代碼中,我們首先通過cJSON_Parse解析了一個json字符串得到了一個json數組的對象array,然后通過array->child和item->next的方式遍歷數組中的每一個元素,通過cJSON_GetObjectItem獲取它們的值。

總的來說,c json對于對象和集合的處理非常簡單,而且非常方便,即使是對于很大的json數據,它的性能也非常不錯,是一款值得使用的json庫。