C語言中解析JSON字符串中的列表可以使用第三方庫如cJSON,它是一個輕量級的JSON解析庫,可以方便地完成JSON字符串的解析。下面是一個使用cJSON解析JSON字符串中列表的示例:
#include <stdio.h>
#include <cJSON.h>
int main()
{
char *json_string = "{\"name\": \"John Smith\", \"age\": 25, \"grades\": [90, 85, 95]}";
cJSON *root = cJSON_Parse(json_string);
if (!root) {
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
return -1;
}
cJSON *name = cJSON_GetObjectItem(root, "name");
cJSON *age = cJSON_GetObjectItem(root, "age");
cJSON *grades = cJSON_GetObjectItem(root, "grades");
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
cJSON *grade;
int grade_count = cJSON_GetArraySize(grades);
printf("Grades: ");
for (int i = 0; i< grade_count; i++) {
grade = cJSON_GetArrayItem(grades, i);
printf("%d ", grade->valueint);
}
printf("\n");
cJSON_Delete(root);
return 0;
}
在這個例子中,我們解析了一個JSON字符串,包含了一個名字、年齡和一組成績列表。首先,我們使用cJSON_Parse函數解析JSON字符串并返回一個cJSON對象。然后,我們使用cJSON_GetObjectItem函數獲取JSON對象中的各個屬性(包括列表)。對于列表屬性,我們使用cJSON_GetArraySize獲取列表長度,然后使用cJSON_GetArrayItem獲取列表中的每個元素。最后,我們使用cJSON_Delete函數釋放內存。
上一篇vue ajax登錄驗證
下一篇c 解析json嵌套數量