C語言中,操作JSON數據需要借助第三方庫,最常用的是cJSON庫。
要把JSON字符串轉換為cJSON的數據結構,可以使用cJSON_Parse()函數。
#include "cJSON.h"
void cJSON_Parse(json_string);
cJSON_Parse()函數返回一個cJSON結構體對象,可以通過該對象獲取JSON數據中的鍵值對。
假設下面這段JSON數據:
{
"name": "Jack",
"age": 20,
"city": "Shanghai"
}
使用cJSON_Parse()函數把上面的JSON數據解析為cJSON結構體對象:
#include <stdio.h>
#include "cJSON.h"
char* json_string = "{\"name\":\"Jack\",\"age\":20,\"city\":\"Shanghai\"}";
int main() {
cJSON* json = cJSON_Parse(json_string);
if (json) {
cJSON* name = cJSON_GetObjectItemCaseSensitive(json, "name");
cJSON* age = cJSON_GetObjectItemCaseSensitive(json, "age");
cJSON* city = cJSON_GetObjectItemCaseSensitive(json, "city");
printf("name: %s, age: %d, city: %s\n", name->valuestring, age->valueint, city->valuestring);
}
cJSON_Delete(json);
return 0;
}
cJSON_GetObjectItemCaseSensitive()函數返回指定鍵名對應的值,可以根據值類型調用對應的獲取函數獲取值。
需要注意的是,使用完cJSON的結構體對象后需要及時刪除,否則會導致內存泄漏。
cJSON_Delete(json);
上一篇dozer json
下一篇vue產品展示模板