#include "cJSON.h"
#include <stdio.h>
// 生成 JSON 数据
void create_json() {
// 创建一个 JSON 对象
cJSON *root = cJSON_CreateObject();
// 添加一个字符串类型的键值对
cJSON_AddStringToObject(root, "name", "John");
// 添加一个整数类型的键值对
cJSON_AddNumberToObject(root, "age", 30);
// 将 JSON 对象转换为字符串
char *json_string = cJSON_Print(root);
if (json_string != NULL) {
printf("Generated JSON: %s\n", json_string);
// 释放字符串内存
cJSON_free(json_string);
}
// 释放 JSON 对象内存
cJSON_Delete(root);
}
// 解析 JSON 数据
void parse_json(const char *json_string) {
// 解析 JSON 字符串
cJSON *root = cJSON_Parse(json_string);
if (root != NULL) {
// 获取 "name" 键对应的值
cJSON *name = cJSON_GetObjectItem(root, "name");
if (cJSON_IsString(name)) {
printf("Name: %s\n", name->valuestring);
}
// 获取 "age" 键对应的值
cJSON *age = cJSON_GetObjectItem(root, "age");
if (cJSON_IsNumber(age)) {
printf("Age: %d\n", age->valueint);
}
// 释放 JSON 对象内存
cJSON_Delete(root);
}
}
int main() {
// 生成 JSON 数据
create_json();
// 定义一个 JSON 字符串
const char *json_str = "{\"name\": \"Alice\", \"age\": 25}";
// 解析 JSON 数据
parse_json(json_str);
return 0;
} |