C JSON 是一種輕量級的數據交換格式,它具有良好的可讀性和可擴展性。C 語言提供了對 JSON 數據的解析和生成支持,使得開發人員能夠輕松地操作 JSON 數據。
#include <stdio.h> #include <cjson/cJSON.h> int main() { // 創建一個 JSON 對象 cJSON *root = cJSON_CreateObject(); // 添加一個字符串類型的鍵值對 cJSON_AddStringToObject(root, "name", "Jack"); // 添加一個整數類型的鍵值對 cJSON_AddNumberToObject(root, "age", 20); // 添加一個數組類型的鍵值對 cJSON_AddItemToObject(root, "friends", cJSON_CreateStringArray( (const char *[]){"Alice", "Bob", "Charlie"}, 3)); // 將 JSON 對象轉換為字符串 char *jsonStr = cJSON_PrintUnformatted(root); printf("%s\n", jsonStr); // 解析一個 JSON 字符串 cJSON *parsed = cJSON_Parse(jsonStr); // 獲取字段值 char *name = cJSON_GetObjectItem(parsed, "name")->valuestring; int age = cJSON_GetObjectItem(parsed, "age")->valueint; cJSON *friendsArray = cJSON_GetObjectItem(parsed, "friends"); int friendsCount = cJSON_GetArraySize(friendsArray); // 輸出解析結果 printf("name: %s, age: %d\n", name, age); printf("friends: ["); for (int i = 0; i< friendsCount; i++) { printf("%s,", cJSON_GetArrayItem(friendsArray, i)->valuestring); } printf("]\n"); // 釋放內存 cJSON_Delete(parsed); cJSON_Delete(root); free(jsonStr); return 0; }
在上面的示例中,我們使用 cJSON 庫創建了一個 JSON 對象,并將一個字符串類型、一個整數類型和一個數組類型的鍵值對添加到了該對象中。然后,我們將 JSON 對象轉換為字符串并輸出。接著,我們解析了該字符串并通過 cJSON 庫提供的 API 獲取了相應的字段值。最后,我們釋放了內存。
下一篇c json 數值更改