当先锋百科网

首页 1 2 3 4 5 6 7

JSON是一种数据交换格式,它是 JavaScript Object Notation 的缩写。在C语言中,我们可以使用第三方库或自己手写代码来解析、生成JSON数据。

/*示例代码1: 创建JSON对象*/
#include "json-c/json.h" // 引入json-c库
int main() {
struct json_object *object = json_object_new_object();
json_object *name = json_object_new_string("Tom");
json_object *age = json_object_new_int(25);
json_object_object_add(object, "name", name);
json_object_object_add(object, "age", age);
printf("%s\n", json_object_to_json_string(object)); // 输出 {"name": "Tom", "age": 25}
json_object_put(object);
return 0;
}

上述代码演示了如何创建一个JSON对象,其中我们使用了json-c库提供的json_object_new_*系列函数来创建JSON数据类型,如json_object_new_object创建一个JSON对象类型。

/*示例代码2: 解析JSON数据*/
#include#includeint main() {
const char *json_string = "{\"name\": \"Tom\", \"age\": 25}"; // JSON数据
json_object *json = json_tokener_parse(json_string); // 解析JSON数据    
json_object *name, *age;
json_object_object_get_ex(json, "name", &name); // 获取name属性对应的值
json_object_object_get_ex(json, "age", &age); // 获取age属性对应的值
printf("name: %s\n", json_object_get_string(name)); // 输出 name: Tom
printf("age: %d\n", json_object_get_int(age)); // 输出 age: 25
json_object_put(json); // 释放内存
return 0;
}

上述代码演示了如何解析JSON数据,其中我们使用了json-c库提供的json_tokener_parse函数来解析一个JSON字符串,并使用json_object_object_get_ex函数来获取JSON对象中指定属性的值。

总之,使用C语言进行JSON数据的解析和生成也是很简单的。只需要引入相关的库或自己手写代码,就可以方便地操作JSON数据。