C语言字符串转json
时间: 2023-09-16 18:11:25 浏览: 106
在 C 语言中,可以通过手动构建字符串来生成 JSON 数据。以下是一个示例,将一个简单的 JSON 对象转换为字符串:
```c
#include <stdio.h>
#include <string.h>
int main() {
// 构建 JSON 字符串
char json_str[100];
strcpy(json_str, "{\"name\": \"John\", \"age\": 30}");
// 输出 JSON 字符串
printf("%s\n", json_str);
return 0;
}
```
在这个示例中,我们使用了 C 语言的字符串拼接功能来构建 JSON 字符串。注意,我们需要在字符串中使用反斜杠(\)来转义双引号(")。
如果需要将更复杂的数据结构转换为 JSON,我们可以使用 JSON 库,例如 cJSON。这个库提供了一组 API,可以轻松地将 C 数据结构转换为 JSON 对象或数组。以下是一个使用 cJSON 的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include "cJSON.h"
int main() {
// 创建 JSON 对象
cJSON *root = cJSON_CreateObject();
cJSON_AddStringToObject(root, "name", "John");
cJSON_AddNumberToObject(root, "age", 30);
// 将 JSON 对象转换为字符串
char *json_str = cJSON_PrintUnformatted(root);
// 输出 JSON 字符串
printf("%s\n", json_str);
// 释放内存
free(json_str);
cJSON_Delete(root);
return 0;
}
```
在这个示例中,我们使用 cJSON 库来创建一个 JSON 对象,并将其转换为字符串。注意,我们需要在使用完毕后释放内存,以避免内存泄漏。
阅读全文