c 解析json库【代码示例】

vuekuangjia

温馨提示:这篇文章已超过287天没有更新,请注意相关的内容是否还可用!

c  解析json库【代码示例】

C语言中解析JSON数据的库有很多,其中比较常用的是cJSON库。cJSON是一个轻量级的JSON解析器,可以用来解析JSON字符串并将其转换为C语言中的数据结构。

我们需要在代码中引入cJSON库的头文件,并使用cJSON_Parse函数来解析JSON字符串。该函数的参数是一个JSON字符串,返回的是一个cJSON对象,表示解析后的JSON数据。

示例代码如下:

#include <stdio.h>

#include "cJSON.h"

int main() {

const char* json_str = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";

cJSON* root = cJSON_Parse(json_str);

if (root == NULL) {

printf("Failed to parse JSON.\n");

return 1;

}

cJSON* name = cJSON_GetObjectItem(root, "name");

if (name == NULL) {

printf("Failed to get 'name' from JSON.\n");

cJSON_Delete(root);

return 1;

}

printf("Name: %s\n", name->valuestring);

cJSON_Delete(root);

return 0;

}

在上述示例代码中,我们首先定义了一个JSON字符串`json_str`,表示一个包含姓名、年龄和城市信息的JSON对象。

然后,我们使用`cJSON_Parse`函数将该JSON字符串解析为一个cJSON对象`root`。如果解析失败,函数返回NULL。

接下来,我们使用`cJSON_GetObjectItem`函数从`root`对象中获取名为"name"的属性。如果获取失败,函数返回NULL。

我们打印出"name"属性的值,即John。

需要注意的是,解析完成后,我们需要使用`cJSON_Delete`函数来释放内存,避免内存泄漏。

这样,我们就成功地使用cJSON库解析了JSON字符串,并提取出了其中的数据。

文章版权声明:除非注明,否则均为莫宇前端原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码