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

c 查詢json

方一強2年前8瀏覽0評論

在C語言中,有時候需要解析JSON數據,我們可以使用一些第三方庫來完成這個任務,例如cJSON。

#include <stdio.h>
#include <cJSON.h>
char *jsonStr = "{\
\"name\": \"張三\",\
\"age\": 18,\
\"gender\": \"男\",\
\"score\": {\
\"chinese\": 90,\
\"math\": 80,\
\"english\": 70\
},\
\"hobby\": [\
\"足球\",\
\"籃球\",\
\"羽毛球\"\
]\
}";
int main() {
cJSON *json = cJSON_Parse(jsonStr);
if (!json) {
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
return -1;
}
char *name = cJSON_GetObjectItem(json, "name")->valuestring;
int age = cJSON_GetObjectItem(json, "age")->valueint;
char *gender = cJSON_GetObjectItem(json, "gender")->valuestring;
cJSON *score = cJSON_GetObjectItem(json, "score");
int chinese = cJSON_GetObjectItem(score, "chinese")->valueint;
int math = cJSON_GetObjectItem(score, "math")->valueint;
int english = cJSON_GetObjectItem(score, "english")->valueint;
cJSON *hobbyArray = cJSON_GetObjectItem(json, "hobby");
int hobbyCount = cJSON_GetArraySize(hobbyArray);
char *hobbies[hobbyCount];
for (int i = 0; i< hobbyCount; i++) {
cJSON *hobby = cJSON_GetArrayItem(hobbyArray, i);
hobbies[i] = cJSON_Print(hobby);
}
printf("姓名: %s\n", name);
printf("年齡: %d\n", age);
printf("性別: %s\n", gender);
printf("語文: %d, 數學: %d, 英語: %d\n", chinese, math, english);
printf("興趣愛好:\n");
for (int i = 0; i< hobbyCount; i++) {
printf("%s\n", hobbies[i]);
}
cJSON_Delete(json);
return 0;
}

代碼中定義了一個JSON字符串,包含了一個學生的姓名、年齡、性別、成績和興趣愛好。使用cJSON庫解析JSON數據,可以方便地獲取JSON中的數據。可以看到,獲取JSON中的數據主要使用了cJSON_GetObjectItem和cJSON_GetArrayItem這兩個函數,可以傳入要獲取的鍵名或鍵索引來獲取相應的值。cJSON_Print函數將cJSON類型的數據轉換為字符串類型。