物联网全栈工程师学习笔记之JSON学习一

一、概念
JSON是一种轻量级的数据交换格式。它采用完全独立于编程语言的文本格式来存储和表示数据。
简洁和清晰的层次结构使得JSON成为理想的数据交换语言。

  • 序列化:将数据结构或对象转换成二进制串的过程。
  • 反序列化:将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程。

二、作用:

  • 序列化:在传递和保存对象时,保证对象的完整性和可传递性。对象转化为有序字节流,以便在网络上传输或者保存在本地文件中。
  • 反序列化:根据字节流中保存的对象状态及描述信息,通过反序列化重建对象。

三、指标

  • 通用性:序列化协议是否支持跨平台、跨语言。
  • 强健性/鲁棒性
  • 可调试性/可读性:良好的调试性和可读性大大的提高开发效率;
  • 时间复杂度和空间复杂度:
    空间开销(Verbosity),序列化需要在原有的数据上加上描述字段为反序列化解析用。如果序列化过程引入的额外开销过高,可能会导致过大的网络,磁盘等各方面的压力。对于海量分布式存储系统,数据量往往以TB为单位,意味着高昂的成本。
    时间开销(Complexity),复杂的序列化协议会导致较长的解析时间,这可能会使得序列化和 反序列化阶段成为整个系统的瓶颈。
  • 可扩展性/兼容性、安全性/访问限制

四、JSON概述
JSON(JavaScript Object Notation)JavaScript对象表示法,是一种轻量级的数据交换格式。
易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript Programming Language,Standard ECMA-262 3rdEdition-December 1999的一个子集。

五、JSON的内容设计
在这里插入图片描述
六、JSON样例

{ "deviceCode":"123456789","content":
	[
		{"timestamp":1526266000,"content":
			[{"dataname":"humidity","value":40,"abnormity":0},
			 {"dataname":"temperature","value":"25.5℃","abnormity":0},
			 {"dataname":"luminance","value":276,"abnormity":0}
			]
		},
		{"timestamp":1526266011,"content":
			[{"dataname":"Ua","value":"220.1","abnormity":0},
			 {"dataname":"Ub","value":"223.0","abnormity":0},
			 {"dataname":"Uc","Value":"222.4","abnormity":0}
			]
		}
	]
 }

七、JSON的文件

  • JSON文件的文件类型是“.json” ;
  • JSON文本的MIME类型是“application/json”;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HeartRain_大西瓜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值