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#include int 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数据。