内容简介:最近自己在做一个基于ESP8266和STM32的桌面天气时钟,需要使用到JSON解析,所以系统学习一下JSON,这篇文章我们先来了解一下JSON的基本格式。JSON: JavaScript 对象表示法( JavaScript Object Notation) 是一种轻量级的数据交换格式。 它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式, 但是也使用了类似于C语言家族的习惯( 包括C、 C++、 C#、 Java、 JavaScript、 Perl、 Python等) 。这些特
最近自己在做一个基于ESP8266和STM32的桌面天气时钟,需要使用到JSON解析,所以系统学习一下JSON,这篇文章我们先来了解一下JSON的基本格式。
啥是JSON
JSON: JavaScript 对象表示法( JavaScript Object Notation) 是一种轻量级的数据交换格式。 它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式, 但是也使用了类似于 C语言 家族的习惯( 包括C、 C++、 C#、 Java 、 JavaScript、 Perl 、 Python 等) 。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写, 同时也易于机器解析和生成(一般用于提升网络传输速率)。JSON 解析器和 JSON 库支持许多不同的编程语言。 JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。 由于这种相似性, 无需解析器, JavaScript 程序能够使用内建的 eval() 函数, 用 JSON 数据来生成原生的 JavaScript 对象。JSON 是存储和交换文本信息的语法。 类似 XML。 JSON 比 XML 更小、 更快, 更易解析。JSON 具有自我描述性, 语法简洁, 易于理解。
JSON说白了,就是一串字符串只不过元素会使用特定的符号标注,很多API接口的返回信息都是JSON格式的。
{} 双括号表示对象。
- ”” 双引号内是属性或值。
冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个josn数组或json对象)
[] 中括号表示数组,可以包含多个JSON对象
所以 {“name”: “Michael”} 可以理解为是一个json对象,它包含了一个键值对,对象也可以包含多个键/值对。
一个简单的JSON对象
{
"name": "Andy",
"age": 20
}
这个JSON对象包含两个键值对。
一个简单的JSON数组
[{
"name": "Michael"
}, {
"name": "Jerry"
}]
包含了两个JSON对象的JSON数组。
一个稍微复杂点的JSON对象
{
"success": "1",
"result": {
"timestamp": "1542456793",
"datetime_1": "2018-11-17 20:13:13",
"datetime_2": "2018年11月17日 20时13分13秒",
"week_1": "6",
"week_2": "星期六",
"week_3": "周六",
"week_4": "Saturday"
}
}
这是一个免费的用来 获取北京标准时间 的API接口地址,返回值是JSON字符串。这个JSON对象共包含两个键值对,一个键success,对应的值是一个字符串,另一个键result,对应的值是一个JSON对象。所以可以看出,键的值,可以是字符串,数字,也可以是另一个JSON对象或JSON数组。
一个很复杂的JSON字符串
{
"results": [{
"location": {
"id": "WS10730EM8EV",
"name": "深圳",
"country": "CN",
"path": "深圳,深圳,广东,中国",
"timezone": "Asia/Shanghai",
"timezone_offset": "+08:00"
},
"now": {
"text": "多云",
"code": "4",
"temperature": "23"
},
"last_update": "2018-11-17T20:05:00+08:00"
}]
}
这是 心知天气
获取3天天气预报返回的JSON格式信息。就包含了一个键值对,键是 results
,值是一个数组。
下一篇文章将介绍如何使用cJSON库,来完成JSON的解析,来得到我们想要的值。
-
在线JSON格式校验工具: bejson
-
常用的API数据接口: k780数据
-
免费的API接口: 各类无次数限制的免费API接口
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ASP.NET 4高级程序设计(第4版)
Matthew MacDonald / 博思工作室 / 人民邮电出版社 / 2011-6 / 148.00元
《ASP.NET 4高级程序设计(第4版)》,本书是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。一起来看看 《ASP.NET 4高级程序设计(第4版)》 这本书的介绍吧!