cJSON(C语言JSON)库(适用于嵌入式序列化和反序列化)
cJSON是一个用于处理JSON数据的C语言库,它提供了创建、修改和解析JSON对象的简单接口。以下是一个使用cJSON库创建和序列化JSON对象的简单示例:
#include <stdio.h>
#include "cjson/cJSON.h"
int main() {
// 创建一个JSON对象
cJSON *json = cJSON_CreateObject();
// 向JSON对象中添加数据
cJSON_AddStringToObject(json, "name", "John Doe");
cJSON_AddNumberToObject(json, "age", 30);
cJSON_AddBoolToObject(json, "is_developer", cJSON_True);
// 创建一个JSON数组
cJSON *languages = cJSON_CreateStringArray((const char *[]){"C", "Python", "Javascript"}, 3);
cJSON_AddItemToObject(json, "languages", languages);
// 序列化JSON对象为字符串
char *string = cJSON_Print(json);
if (string == NULL) {
fprintf(stderr, "Failed to print monitor.\n");
}
// 打印JSON字符串
printf("%s\n", string);
// 清理工作
cJSON_Delete(json);
free(string);
return 0;
}
这段代码首先创建了一个JSON对象,并向其中添加了不同类型的数据(字符串、数字、布尔值和字符串数组)。然后使用cJSON_Print
函数将JSON对象序列化为字符串,并打印输出。最后,代码清理了JSON对象并释放了分配的内存。这个例子展示了如何使用cJSON库来创建和操作JSON数据。
评论已关闭