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

c 如何取json中的字段

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

在C語言中,要從JSON數據中提取出字段,一般可以使用cJSON庫。

這個庫是一個非常方便和易于使用的JSON解析器。以下是一個使用cJSON庫解析JSON數據的示例代碼:

#include <stdio.h>
#include <stdlib.h>
#include <cJSON.h>
int main() {
char* json_string = "{\"name\":\"Tom\", \"age\":20, \"score\":{"score1\":80, \"score2\":90}}";
cJSON* json = cJSON_Parse(json_string);
cJSON* name = cJSON_GetObjectItem(json, "name");
cJSON* age = cJSON_GetObjectItem(json, "age");
cJSON* score = cJSON_GetObjectItem(json, "score");
cJSON* score1 = cJSON_GetObjectItem(score, "score1");
cJSON* score2 = cJSON_GetObjectItem(score, "score2");
printf("name: %s\nage: %d\nscore1: %d\nscore2: %d\n",
cJSON_Print(name), cJSON_Print(age), cJSON_Print(score1), cJSON_Print(score2));
cJSON_Delete(json);
return 0;
}

上面的代碼創建了一個JSON數據,然后使用cJSON_Parse()函數從字符串中解析出JSON對象。

接下來,我們使用cJSON_GetObjectItem()函數來獲取JSON中的各個字段。例如,我們可以使用“name”字段的名稱獲取“Tom”這個字符串,使用“age”字段獲取20這個整數,使用“score1”和“score2”字段獲取分數。

最后,我們使用cJSON_Print()函數打印出這些字段的值。

需要注意的是,在使用完JSON對象之后,需要使用cJSON_Delete()函數來釋放內存。