C 语言将json转为结构体
时间: 2023-09-04 14:11:45 浏览: 189
可以使用第三方库 cJSON 来实现将 JSON 数据转换为 C 语言中的结构体。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include "cJSON.h"
// 定义结构体
typedef struct {
int age;
char name[20];
} Person;
int main() {
char *json_str = "{\"age\": 25, \"name\": \"John\"}";
// 解析 JSON 字符串
cJSON *root = cJSON_Parse(json_str);
// 从 JSON 中获取数据并赋值给结构体
Person person;
person.age = cJSON_GetObjectItem(root, "age")->valueint;
strcpy(person.name, cJSON_GetObjectItem(root, "name")->valuestring);
// 打印结构体信息
printf("Person: age=%d, name=%s\n", person.age, person.name);
// 释放 cJSON 对象
cJSON_Delete(root);
return 0;
}
```
上述示例中,我们首先定义了一个名为 Person 的结构体,然后使用 cJSON_Parse() 函数将 JSON 字符串转换为 cJSON 对象。接着,我们从 cJSON 对象中获取 age 和 name 两个字段的值,并分别赋值给结构体中的对应字段。最后,我们打印了结构体中的信息,并释放了 cJSON 对象。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)