c语言怎么解析json格式
时间: 2023-07-03 13:15:24 浏览: 139
在C语言中,解析JSON格式的数据通常需要使用第三方库,比如常用的 cJSON 库。
使用 cJSON 库解析 JSON 格式数据的步骤如下:
1. 首先需要引入 cJSON 库的头文件:`#include "cJSON.h"`
2. 将 JSON 格式的字符串转换成 cJSON 对象:`cJSON* json = cJSON_Parse(json_str);`,其中 json_str 是 JSON 格式的字符串。
3. 通过 cJSON 库提供的函数,从 cJSON 对象中提取出需要的数据,比如:`cJSON_GetObjectItem(json, "name")->valuestring`。
4. 在使用完 cJSON 对象后,需要释放内存:`cJSON_Delete(json);`。
下面是一个简单的示例,演示了如何使用 cJSON 库解析 JSON 格式数据:
```c
#include <stdio.h>
#include "cJSON.h"
int main()
{
char* json_str = "{\"name\": \"Tom\", \"age\": 25, \"isStudent\": true}";
cJSON* json = cJSON_Parse(json_str);
if (json != NULL) {
cJSON* name = cJSON_GetObjectItem(json, "name");
cJSON* age = cJSON_GetObjectItem(json, "age");
cJSON* is_student = cJSON_GetObjectItem(json, "isStudent");
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
printf("Is student: %s\n", is_student->valueint ? "true" : "false");
cJSON_Delete(json);
}
return 0;
}
```
输出结果:
```
Name: Tom
Age: 25
Is student: true
```
阅读全文