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

c 讀取json鍵值對

錢良釵1年前8瀏覽0評論

在C語言中,我們經常需要讀取JSON格式的數據。JSON是一種輕量級的數據交換格式,常用于前后端數據交互。本文介紹如何使用C語言讀取JSON鍵值對。

#include#include#include#include "cJSON.h"
int main() {
char *json_str = "{ \"name\": \"張三\", \"age\": 18, \"gender\": \"male\" }";
cJSON *json = cJSON_Parse(json_str);
if (json == NULL) {
printf("JSON格式錯誤\n");
return -1;
}
cJSON *name = cJSON_GetObjectItem(json, "name");
if (name == NULL) {
printf("找不到name鍵\n");
return -1;
}
printf("姓名:%s\n", name->valuestring);
cJSON *age = cJSON_GetObjectItem(json, "age");
if (age == NULL) {
printf("找不到age鍵\n");
return -1;
}
printf("年齡:%d\n", age->valueint);
cJSON *gender = cJSON_GetObjectItem(json, "gender");
if (gender == NULL) {
printf("找不到gender鍵\n");
return -1;
}
printf("性別:%s\n", gender->valuestring);
cJSON_Delete(json);
return 0;
}

首先,我們需要引入cJSON庫。cJSON是一個基于C語言實現的JSON解析庫,可以方便地解析JSON字符串。

在main函數中,我們定義了一個json_str字符串,它是一個JSON格式的字符串。我們使用cJSON_Parse函數將其解析為一個cJSON對象。如果解析失敗,則返回NULL。

接下來,我們使用cJSON_GetObjectItem函數通過鍵名(name、age、gender)獲取相應的鍵值(json)。需要注意的是,這些鍵值有不同的類型,使用不同的獲取函數(valuestring、valueint)獲取。

最后,我們使用cJSON_Delete函數釋放cJSON對象的內存。