淘先锋技术网

首页 1 2 3 4 5 6 7

C 类转换为 JSON 字符串数组是一个很普遍的需求,因为在现代软件开发中,往往需要将数据从一种格式转换为另一种格式以实现不同的目标。

为了实现 C 类转换为 JSON 字符串数组,我们需要使用一个第三方库—— cJSON。这个库能够将 C 类型的数据转换为 JSON 格式的字符串,同时还能将 JSON 字符串转换为 C 类型的数据。

#include "cJSON.h"
...
// 定义 C 类型的数据结构
typedef struct {
char *name;
int age;
} Person;
// 定义转换函数,将 Person 类型的数据转换为 JSON 字符串数组
char* person_to_json(Person *person) {
cJSON *root = cJSON_CreateObject(); // 创建根节点
cJSON_AddStringToObject(root, "name", person->name); // 添加字符串类型数据
cJSON_AddNumberToObject(root, "age", person->age); // 添加数字类型数据
char *result = cJSON_Print(root); // 将 cJSON 对象转换为 JSON 格式的字符串
cJSON_Delete(root); // 释放 cJSON 对象
return result;
}
// 测试函数
void test() {
Person person = {"Jack", 18};
char *result = person_to_json(&person);
printf("%s", result); // 打印转换后的字符串
free(result); // 释放字符串内存
}

使用 cJSON 库可以方便地实现 C 类转换为 JSON 字符串数组。在上面的示例中,我们定义了一个 Person 类型的数据结构,并实现了一个将其转换为 JSON 字符串数组的函数。该函数内部使用 cJSON 库创建了一个根节点,并添加了字符串和数字类型的数据。最后,使用 cJSON_Print 函数将 cJSON 对象转换为 JSON 格式的字符串,再将其返回。测试函数中,我们创建了一个 Person 对象,并将其转换为 JSON 格式的字符串,最后打印输出。