在C語言中編輯JSON文件非常常見。JSON文件是一種文本文件格式,被廣泛用于 Web API服務,傳輸數據等。C語言提供了許多庫和API,可以實現讀取JSON文件、插入、刪除、更新JSON數據等各種操作。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { json_t *root = json_object(); //創建一個json對象 json_t *arr = json_array(); //創建一個json數組 json_object_set_new(root, "name", json_string("John Smith")); //在對象中添加屬性 json_object_set_new(root, "age", json_integer(30)); //在對象中添加屬性 json_array_append_new(arr, json_string("apple")); //在數組中添加元素 json_array_append_new(arr, json_integer(123)); //在數組中添加元素 json_object_set_new(root, "favorite", arr); //在對象中添加屬性 char *json_str = json_dumps(root, 0); //將json對象轉化為json字符串 printf("%s\n", json_str); json_t *new_obj = json_object_get(root, "name"); //獲取對象屬性 printf("name: %s\n", json_string_value(new_obj)); json_t *new_arr = json_object_get(root, "favorite"); //獲取對象屬性 for (size_t i = 0; i< json_array_size(new_arr); i++) { json_t *ele = json_array_get(new_arr, i); //獲取數組元素 if (json_is_string(ele)) { printf("%s ", json_string_value(ele)); } else if (json_is_integer(ele)) { printf("%d ", (int)json_integer_value(ele)); } } printf("\n"); json_decref(root); //釋放json對象資源 free(json_str); //釋放json字符串資源 return 0; }
以上代碼演示了如何在C語言中操作JSON對象,包括創建、添加屬性、獲取屬性、創建數組、添加元素、遍歷數組等基本操作。在實際應用中,根據需求使用相應的JSON庫和API,可以方便地實現JSON數據的編輯和處理。