微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

json字符串解析c

在 C 语言中,解析 JSON 字符串是一项常见的任务,它涉及到把 JSON 字符串转换成内存中的一个结构体或数组等数据类型,以便程序能够处理 JSON 数据。

json字符串解析c

为了解析 JSON 字符串,我们需要采用一个支持 JSON 的第三方库。目前比较流行的有 cJSON、jansson 和 json-c 等。这里我们以 cJSON 为例进行说明:

#include <stdio.h>
#include <cJSON.h>

int main()
{
    char *json_string = "{\"name\":\"John Smith\",\"age\":28,\"city\":\"New York\"}";
    cJSON *root = cJSON_Parse(json_string);
    cJSON *name = cJSON_GetobjectItem(root,"name");
    cJSON *age = cJSON_GetobjectItem(root,"age");
    cJSON *city = cJSON_GetobjectItem(root,"city");
    printf("Name: %s\n",cJSON_GetStringValue(name));
    printf("Age: %d\n",age->valueint);
    printf("City: %s\n",cJSON_GetStringValue(city));
    cJSON_Delete(root);
    return 0;
} 

首先,我们需要在代码中引入 cJSON 库的头文件在这个示例中,我们创建了一个包含 JSON 字符串的指针 json_string,它包含一个人的姓名、年龄和所在城市。然后,我们调用 cJSON_Parse 函数把 JSON 字符串转换成 cJSON 对象。

接着,我们通过调用 cJSON_GetobjectItem 函数,按照键名(这里是字符串类型)获取 JSON 对象中的值,并将其保存在 name、age 和 city 变量中。注意,我们使用了不同的函数获取字符串类型和整数类型的值。

最后,我们调用 cJSON_Delete 函数释放内存,然后程序结束。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐