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

c 使用json字符串

傅智翔2年前8瀏覽0評論

在C語言中使用JSON字符串的方法有很多,本篇文章主要介紹如何使用cJSON庫來解析JSON字符串。

cJSON *root = NULL;
cJSON *item = NULL;
char *json_string = "{\"name\":\"Tom\",\"age\":20,\"hobby\":[\"reading\",\"sports\"]}";
root = cJSON_Parse(json_string);
if (root == NULL) {
// 解析失敗,處理錯誤
return;
}
// 解析name字段
item = cJSON_GetObjectItem(root, "name");
if (item != NULL) {
printf("name: %s\n", item->valuestring);
}
// 解析age字段
item = cJSON_GetObjectItem(root, "age");
if (item != NULL) {
printf("age: %d\n", item->valueint);
}
// 解析hobby字段
item = cJSON_GetObjectItem(root, "hobby");
if (item != NULL) {
cJSON *subitem = NULL;
int hobby_size = cJSON_GetArraySize(item);
printf("hobby: ");
for (int i = 0; i< hobby_size; i++) {
subitem = cJSON_GetArrayItem(item, i);
printf("%s ", subitem->valuestring);
}
printf("\n");
}
cJSON_Delete(root);

以上代碼通過cJSON庫中的cJSON_Parse函數將JSON字符串解析成一個cJSON類型的根節點,然后通過cJSON_GetObjectItem和cJSON_GetArrayItem等函數分別從根節點中獲取相應的字段。

其中,cJSON_GetObjectItem函數用于獲取JSON對象中的字段,cJSON_GetArrayItem函數用于獲取JSON數組中的元素。在獲取到這些字段或元素后,可以用cJSON的valuestring、valueint等成員變量來獲取相應的值。

最后,使用cJSON_Delete函數釋放內存。