当先锋百科网

首页 1 2 3 4 5 6 7

在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数据的编辑和处理。