cJSON生成json字符串

简介: 嵌入式开发中如果需要上云常常需要处理json字符串,这时候可以调用json库如:cJSON,jasson等。本文介绍cJSON库使用

cJSON库介绍

cJSON是使用C语言编写的JSON数据解析器,轻量级。使用MIT开源协议。
库地址 CJSON

库的移植安装

从github把压缩文件下载到本地,打开文件,调用cjson.c和cjson.h即可。

#include "cjson.h"

库的使用

要使用cJSON库首先要对cJSON语法有一定了解。

语法概要:

作者认为cJSON中最重要的概念是对象。json中的对象有两种形式{}或【】。可以通俗地理解为一个大括号或一个中括号对应一个对象。(其实分别是js对象和js数组,但这个数组也可以当做对象)。
在一个对象中可以有多个键值对:key-value。键值对存储着我们所需的数据。
对象中还可以包含别的对象,这就是对象的嵌套。比如在一个{}中可以加入数组【】

cJSON常用API

创建对象:创建一个JSON对象

cJSON_CreateObject()

生成字符串数据

cJSON_CreateString()

添加数据项:将上一步生成的数据项与其键值一起添加到对象中

cJSON_AddItemToObject(,,)

生成字符串:将json对象的内容转化为字符串

cJSON_Print()

创建数组:生成数组对象

cJSON_CreateArray()

取数组成员

cJSON_AddItemToArray()

案例分享

作者在stm32机上新建了一个工程,需要通过串口将JSON字符串传输到通信模块BC20上,以连接华为云。
与华为云物联网平台通信的JSON字符串格式如下:

"{"services": [{"service_id": "***服务ID号***","properties":{"longitude":****.***,"weight":****.*****,"latitude":***.****,"status":*,"rank":*,"color":**.***}}]}"

我们现在需要生成JSON对象并且添加所需的数据
方法:
1.数{}【】个数。我们可以发现有三个{}和一个【】,那么我们需要创建四个对象
2.向最里层对象写数据
3.将里层对象添加到上一层对象里
4.重复操作2.3

相关文章
|
1月前
|
存储 JSON JavaScript
Python字典和JSON字符串相互转化方法
【2月更文挑战第18天】
59 3
|
3天前
|
JSON 运维 Kubernetes
云效产品使用报错问题之流水线中配置了AppStack,构建时下载的制品内容为json字符串,如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
23天前
|
JSON 数据格式
Json字符串与QVariantList 对象相互转换
Json字符串与QVariantList 对象相互转换
7 0
|
1月前
|
JSON 并行计算 API
使用CJSON/Nlohmann:快速简便地在C/C++中处理JSON数据
使用CJSON/Nlohmann:快速简便地在C/C++中处理JSON数据
131 0
|
1月前
|
JSON JavaScript PHP
PHP把unicode编码的json字符串转中文
PHP把unicode编码的json字符串转中文
13 0
|
3月前
|
JSON JavaScript Android开发
JS生成JSON字符串---autojs pro 篇
JS生成JSON字符串---autojs pro 篇
30 0
|
3月前
|
JSON 前端开发 JavaScript
将 JavaScript 对象或值转换为 JSON 字符串:JSON.stringify()
将 JavaScript 对象或值转换为 JSON 字符串:JSON.stringify()
72 3
|
4月前
|
JSON 数据格式
gson自定义Type解析json数组字符串
gson自定义Type解析json数组字符串
|
4月前
|
消息中间件 JSON NoSQL
知识巩固源码落实之7:json协议使用cjson的构造和解析
知识巩固源码落实之7:json协议使用cjson的构造和解析
41 0
|
4月前
|
SQL JSON 关系型数据库
【SQL编程】MySQL 5.7.28 版本使用 SQL 直接解析 JSON 字符串(判断是否是合法JSON类型+文本深度+文本长度+值类型+keys获取+值获取+不同深度数据获取)
【SQL编程】MySQL 5.7.28 版本使用 SQL 直接解析 JSON 字符串(判断是否是合法JSON类型+文本深度+文本长度+值类型+keys获取+值获取+不同深度数据获取)
53 0