JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,它將數據以鍵值對的形式進行描述,支持多種數據類型,包括數字、字符串、數組和對象等。在C語言中,我們可以使用第三方庫cJSON來解析動態類JSON。
#include <stdio.h> #include <stdlib.h> #include "cJSON.h" int main() { char* json_string = "{\"name\":\"Jack\",\"age\":20,\"hobbies\":[\"reading\",\"swimming\",\"traveling\"]}"; cJSON* root = cJSON_Parse(json_string); if (!root) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); return 1; } cJSON* name = cJSON_GetObjectItemCaseSensitive(root, "name"); cJSON* age = cJSON_GetObjectItemCaseSensitive(root, "age"); cJSON* hobbies = cJSON_GetObjectItemCaseSensitive(root, "hobbies"); printf("Name: %s\n", name->valuestring); printf("Age: %d\n", age->valueint); cJSON* hobby; cJSON_ArrayForEach(hobby, hobbies) { printf("Hobby: %s\n", hobby->valuestring); } cJSON_Delete(root); return 0; }
以上是一個簡單的cJSON示例,我們從一個JSON字符串中解析出數據并進行了輸出。通過使用cJSON庫,我們可以輕松地解析動態類JSON,并將其轉換為C語言中的數據類型進行操作。需要注意的是,cJSON只支持動態類JSON,即JSON對象的鍵可以是任意字符串,而靜態類JSON則必須使用雙引號括起來。
上一篇date json變數字
下一篇c 解析json視頻教程