欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 怎么讀取json數據

錢斌斌1年前8瀏覽0評論

在C語言中讀取JSON數據,事實上,需要使用一個專門的JSON庫來解析JSON字符串。

對于C語言來說,有很多JSON庫可以使用,比如Jansson、YAJL、cJSON等等。在這里,我們以cJSON庫為例來演示如何讀取JSON數據。

#include <stdio.h>
#include <cJSON.h>
int main() {
// 定義一個JSON字符串
char *jsonStr = "{\"name\":\"Tom\",\"age\":20,\"hobby\":[\"reading\",\"sports\"]}";
// 解析JSON字符串
cJSON *root = cJSON_Parse(jsonStr);
// 獲取name和age字段的值
char *name = cJSON_GetObjectItem(root, "name")->valuestring;
int age = cJSON_GetObjectItem(root, "age")->valueint;
// 獲取hobby字段的值(數組)
cJSON *hobbies = cJSON_GetObjectItem(root, "hobby");
int hobbiesCount = cJSON_GetArraySize(hobbies);  // 數組元素個數
for (int i = 0; i< hobbiesCount; ++i) {
char *hobby = cJSON_GetArrayItem(hobbies, i)->valuestring;
printf("%s\n", hobby);
}
return 0;
}

以上代碼中,我們首先定義了一個JSON字符串。然后使用cJSON_Parse函數解析JSON字符串得到一個cJSON對象。接著,分別使用cJSON_GetObjectItem函數獲取name、age和hobby字段的值。

需要注意的是,hobby字段的值是一個數組。我們需要先調用cJSON_GetObjectItem函數獲取hobby字段的值,然后使用cJSON_GetArraySize函數獲取數組元素個數,最后使用cJSON_GetArrayItem函數獲取每一個元素的值。

總的來說,讀取JSON數據并不復雜,只要使用相應的JSON庫,按照其提供的API來操作即可。