【开发板试用】cJSON的使用
源码包含第三方的cJSON库,在目录//third_party/cJSON,默认已经编译进固件。我们可以使用它的api,轻松的生成、解析json字符串。下面用一个例子记录cJSON的使用方法。
json的格式
首先一个花括号{},整个代表一个对象,同时里面是一种Key-Value的存储形式,它还有不同的数据类型来区分。
数据结构:Object、Array
基本类型:string,number,true,false,null
(1)Object
{key:value,key:value...}
key:string类型
value:任何基本类型或数据结构
(2)Array
[value,value...]
value:任何基本类型或数据结构。
比如:{"name":"李广", "values":[1,2,45,"你好"] }
生成json字符串
1)生成字符串样例:
{
"id": 123,
"dp": {
"temperature": [{
"v": 23.5
}],
"humidity": [{
"v": 60.3
}]
}
}
2)创建对象root,根据实际需要,从外到内一层一层添加所需的对象、数据、元素等;
3)创建完成,调用函数打印生成的json字符串;
4)最后,释放掉内存;调用cJSON_Delete(root),其余子节点申请的内存会一并释放掉。
解析json字符串
1)从外到内一层一层解析json字符串,伪代码如下;
2)记得释放内存;
3)程序运行,生成、解析json字符串打印如下;
搭配示例讲解直观多了
楼主好久不见呀 终于等到更新了
征文大赛正在火热进行中,楼主这么优秀的文章真的不考虑参加吗?
例如这篇在标题开头添加“#2020征文-开发板#“,
再找到相应的专栏位置投稿,
就可以参加比赛啦!
详细步骤可以点击链接https://harmonyos.51cto.com/posts/1940进行了解
用更多的文章来赢取更多的奖励和人气吧!期待楼主后续的活跃表现。
最近加班有点多o(╥﹏╥)o
楼主,你已经有资格开自己的专栏了。把相关文章都收录进去吧。
已创建,欢迎指正。