c 解密json数据—cjson解析json文件:代码示例

qianduangongchengshi

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

c 解密json数据—cjson解析json文件:代码示例

CJSON是一个轻量级的C语言库,用于解析和生成JSON数据。它提供了简单易用的API,可以帮助开发人员快速解析JSON数据并访问其中的字段。

我们需要包含cJSON的头文件,并定义一个指向cJSON结构的指针来存储解析后的JSON数据。然后,我们可以使用cJSON_Parse函数来解析JSON字符串,并将结果存储在指针中。

示例代码如下:

#include <stdio.h>

#include <stdlib.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: %s\n", cJSON_GetErrorPtr());

return 1;

}

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

if (name != NULL && name->type == cJSON_String) {

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

}

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

if (age != NULL && age->type == cJSON_Number) {

printf("Age: %d\n", age->valueint);

}

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

if (city != NULL && city->type == cJSON_String) {

printf("City: %s\n", city->valuestring);

}

cJSON_Delete(root);

return 0;

}

在上面的示例代码中,我们定义了一个JSON字符串`json_str`,它包含了一个名为"name"的字符串字段,一个名为"age"的数字字段和一个名为"city"的字符串字段。

我们使用`cJSON_Parse`函数解析JSON字符串,并将结果存储在`root`指针中。如果解析失败,我们可以使用`cJSON_GetErrorPtr`函数获取错误信息。

然后,我们使用`cJSON_GetObjectItem`函数获取JSON对象中的字段。我们可以通过比较字段的类型来确定字段的值是否存在,并使用相应的函数(如`valuestring`和`valueint`)获取字段的值。

我们使用`cJSON_Delete`函数释放内存,并返回0表示成功解析和访问JSON数据。

通过以上的示例代码,我们可以看到如何使用cJSON库来解析JSON数据,并访问其中的字段。这个过程非常简单,并且可以轻松地集成到C语言的项目中。

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

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