简单了解JSON

JSON 简介

什么是 JSON ?

  • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
  • JSON 是轻量级的文本数据交换格式
  • JSON 独立于语言(JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。)
  • JSON 具有自我描述性,更易理解

类似 XML

JSON 是纯文本
JSON 具有“自我描述性”(人类可读)
JSON 具有层级结构(值中存在值)
JSON 可通过 JavaScript 进行解析
JSON 数据可使用 AJAX 进行传输

相比 XML 的不同之处

没有结束标签
更短
读写的速度更快
能够使用内建的 JavaScript eval() 方法进行解析
使用数组
不使用保留字


为什么使用 JSON?

对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用:

使用 XML
  • 读取 XML 文档
  • 使用 XML DOM 来循环遍历文档
  • 读取值并存储在变量中
使用 JSON
  • 读取 JSON 字符串
  • 用 eval() 处理 JSON 字符串

JSON 语法

JSON 语法是 JavaScript 语法的子集。


JSON 语法规则
JSON 语法是 JavaScript 对象表示法语法的子集。

  • 数据在名称/值对中
  • 数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组

例子:

	{"employees": [
		{ "firstName":"Bill" , "lastName":"Gates" },
		{ "firstName":"George" , "lastName":"Bush" },
		{ "firstName":"Thomas" , "lastName":"Carter" }
		]}

这个 employee 对象是包含 3 个员工记录(对象)的数组。
json都是大括号在外,逗号分隔数据,一般用冒号赋值。


JSON 名称/值对
JSON 数据的书写格式是:名称/值对。
名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:

	"firstName" : "John"

等同于 python 语句:

	firstName = "John"

JSON 值
JSON 值可以是:

  • 数字(整数或浮点数)
  • 字符串(在双引号中)
  • 逻辑值(true 或 false)
  • 数组(在方括号中)
  • 对象(在花括号中)
  • null(空值)

JSON 文件

  • JSON 文件的文件类型是 “.json”
  • JSON 文本的 MIME 类型是 “application/json”

Python3 JSON 数据解析

Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数:

  • json.dumps(): 对数据进行编码,把python格式表示成json格式。
  • json.loads(): 对数据进行解码,把json格式转换成python格式。

在json的编解码过程中,python 的原始类型与json类型会相互转换,具体的转化对照如下:

Python JSON
dict object
list, tuple array
str string
int, float, int- & float-derived Enums number
True true
False false
None null

JSON 解码为 Python 类型转换对应表:

object dict
array list
string str
number (int) int
number (real) float
true True
false False
null None

案例:


参考:
w3school - http://www.w3school.com.cn/json/index.asp
runoob - http://www.runoob.com/python3/python3-json.html

猜你喜欢

转载自blog.csdn.net/weixin_43777358/article/details/85567222