JSON数据格式分析
Posted EmbededIOT
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSON数据格式分析相关的知识,希望对你有一定的参考价值。
JSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
JSON可以用来表示多种类型的数据,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型:对象表示为键值对、数据由逗号分隔、花括号保存对象、方括号保存数组。JSON键值对组合中键名现在前面并用双引号""包裹,使用冒号:分隔,然后是值:{"firstname": "John"}.
对象:
对象在 JS 中是使用花括号包裹 {} 起来的内容,数据结构为 {key1:value1, key2:value2, ...} 的键值对结构。在面向对象的语言中,key 为对象的属性,value 为对应的值。键名可以使用整数和字符串来表示。值的类型可以是任意类型。
数组:
数组在 JS 中是方括号 [] 包裹起来的内容,数据结构为 ["java", "javascript", "vb", ...] 的索引结构。在 JS 中,数组是一种比较特殊的数据类型,它也可以像对象那样使用键值对,但还是索引使用得多。同样,值的类型可以是任意类型。
最近在做项目时用到了cJSON,为此我在CSDN上进行相关资料的查阅,得到若干函数的注释(cJSON库可以在网上下载)
1.cJSON_Parse函数负责解析JSON数据包,并按照cJSON结构体的结构序列化整个数据包。使用该函数会通过malloc函数在 内存中开辟一个空间,使用完成需要手动释放。
2.cJSON_GetObjectItem函数可从cJSON结构体中查找某个子节点名称(键名称),如果查找成功可把该子节点序列化到cJSON结构体中。
3.如果需要使用cJSON结构体中的内容,可通过cJSON结构体中的valueint和valuestring取出有价值的内容(即键的值)
4.可通过cJSON_Delete释放内存空间。
一般对数据的解析用到了上述几个函数,正在对数据进行进一步解析中,毕竟看着简单做着难。
可以点击阅读原文,了解更详细的
以上是关于JSON数据格式分析的主要内容,如果未能解决你的问题,请参考以下文章
使用Python爬取分析腾讯新冠疫情数据,并对json格式进行校验
Azure 流分析作业在输入格式错误 (JSON) 后被阻止