在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來操作即可。
上一篇python 相似的圖片
下一篇python 看內存占用