cjson构建_使用cJSON库解析和构建JSON字符串

使用cJSON库解析和构建JSON字符串

前言

其实之前的两篇博文已经介绍了json格式和如何使用cJSON库来解析JSON:

当时在MCU平台上使用时,会出现时间长了死机的情况,在调用cJSON_Print输出格式化后的JSON数据之后,

LOG("JSON数据:\n%s\n", cJSON_Print(root));

要使用cJSON_Delete释放内存,否则会导致内存泄漏。

cJSON_Delete(root); //调用cJSON_Print时才需要

这一点在嵌入式开发平台要格外注意。

解析和构建JSON的示例程序,我都已经上传到代码托管平台上,示例工程基于CodeBlocks开发环境。

或者通过下面的命令clone到本地:

Github:

git clone https://gitee.com/whik/cJSON_Demo.git

Gitee:

git clone https://github.com/whik/cJSON_Demo.git

JSON解析示例包括:和风天气实时数据

心知天气实时数据

心知天气3天预报数据

城市空气质量AQI信息

全国油价信息

北京时间等。

JSON的构建:简单的键值对

JSON对象作为键的值

JSON数组

JSON数组的嵌套

JSON的构建

cJSON是一个基于C语言的JSON解析库,这个库非常简单,只有cJSON.c和cJSON.h两个文件,支持JSON的解析和构建,需要调用时,只需要#include "cJSON.h"就可以使用了。

由于JSON的解析之前已经介绍过了:使用cJSON库解析JSON,所以本篇博文主要介绍使用cJSON来构建JSON,强大的cJSON库在构建JSON上也是非常的简单。

1.一个简单的JSON键值对构建

构建函数:

void Create_Simple_JSON(void)

{

cJSON *root;

root = cJSON_CreateObject();//创建一个json对象

cJSON_AddItemToObject(root, "CSDN", cJSON_CreateString("https://blog.csdn.net/whik1194"));

cJSON_AddItemToObject(root, "cnblogs", cJSON_CreateString("https://home.cnblogs.com/u/whik/"));

cJSON_AddItemToObject(root, "Github", cJSON_CreateString("https://github.com/whik/"));

cJSON_AddStringToObject(root, "Blog", "http://www.wangchaochao.top/");

printf("构建的JSON:\n%s\n", cJSON_Print(root));

cJSON_Delete(root);

}

输出结果:

{

"CSDN": "https://blog.csdn.net/whik1194",

"cnblogs": "https://home.cnblogs.com/u/whik/",

"Github": "https://github.com/whik/",

"Blog": "http://www.wangchaochao.top/"

}

2.键的值是一个JSON对象

构建函数:

void Create_BJTime_JSON(void)

<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值