C語言中解析JSON字符串可以使用第三方庫,如cJSON。
int main()
{
char *json_string = "{\"name\":\"Tom\",\"age\":18}";
cJSON *root = cJSON_Parse(json_string);
cJSON *name = cJSON_GetObjectItem(root, "name");
printf("%s\n", name->valuestring);
cJSON_Delete(root);
return 0;
}
以上代碼演示了如何解析一個簡單的JSON字符串并輸出其中的"name"鍵對應的值。
使用cJSON解析JSON字符串需要先將字符串解析成一個cJSON對象,可以使用cJSON_Parse()函數。然后查詢鍵對應的值可以使用cJSON_GetObjectItem()函數,其中第二個參數是要查詢的鍵名。最后使用cJSON_Delete()函數釋放內存。
cJSON可以處理JSON對象和JSON數組,以及嵌套的JSON結構。
char *json_string = "{\"name\":\"Tom\",\"age\":18,\"family\":[{\"name\":\"Father\",\"age\":50},{\"name\":\"Mother\",\"age\":48}]}";
cJSON *root = cJSON_Parse(json_string);
cJSON *name = cJSON_GetObjectItem(root, "name");
printf("%s\n", name->valuestring);
cJSON *family = cJSON_GetObjectItem(root, "family");
int size = cJSON_GetArraySize(family);
for(int i=0; ivaluestring, member_age->valueint);
}
cJSON_Delete(root);
以上代碼演示了如何解析具有嵌套的JSON結構。
使用cJSON解析JSON字符串可以方便地提取數據,因此在C語言中有著廣泛的應用。