Json 简单介绍 

JSON:JavaScriptObjectNotation(JavaScript 对象表示法)

JSON 是存储和交换文本信息的语法。类似 XML。

JSON 比 XML 更小、更快,更易解析。

这个 sites 对象是包含 3 个站点记录(对象)的数组。


Python  --  Json  数据编码及解析_python

JSON 数字

JSON 数字可以是整型或者浮点型:

{ "age":30 }

JSON 对象

JSON 对象在大括号({})中书写:

对象可以包含多个名称/值对:

{ "name":"菜鸟教程" , "url":"www.runoob.com" }

这一点也容易理解,与这条 JavaScript 语句等价:

name = "菜鸟教程" url = "www.runoob.com"

JSON 数组

JSON 数组在中括号中书写:

数组可包含多个对象:


Python  --  Json  数据编码及解析_python_02

在上面的例子中,对象 "sites" 是包含三个对象的数组。每个对象代表一条关于某个网站(name、url)的记录。

JSON 布尔值

JSON 布尔值可以是 true 或者 false:

{ "flag":true}

JSON null

JSON 可以设置 null 值:

{ "runoob":null}

JSON 使用 JavaScript 语法

因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON。

通过 JavaScript,您可以创建一个对象数组,并像这样进行赋值:

实例


Python  --  Json  数据编码及解析_python_03

可以像这样访问 JavaScript 对象数组中的第一项(索引从 0 开始):

sites[0].name;

返回的内容是:

runoob

可以像这样修改数据:

sites[0].name="菜鸟教程";

使用Json库:import  json 

json.dumps

json.dumps 用于将 Python 对象编码成 JSON 字符串。

语法


Python  --  Json  数据编码及解析_python_04

python 原始类型向 json 类型的转化对照表:

Python  --  Json  数据编码及解析_python_05


json.loads

语法


Python  --  Json  数据编码及解析_python_06

json 类型转换到 python 的类型对照表:

Python  --  Json  数据编码及解析_python_07


 使用第三方库:Demjson

 Demjson 是 python 的第三方模块库,可用于编码和解码 JSON 数据,包含了 JSONLint 的格式化及校验功能。

安装

方法一:

下载地址:https://pypi.python.org/pypi/demjson/2.2.4

切换到目录下 执行下面命令

python setup.py install

 方法二:

执行命令

pip install demjson

Python  --  Json  数据编码及解析_python_08

成功后会在site-packages 新生成对应的文件及文件夹。

JSON 函数

encode

Python encode() 函数用于将 Python 对象编码成 JSON 字符串。

语法


Python  --  Json  数据编码及解析_python_09

decode

Python 可以使用 demjson.decode() 函数解码 JSON 数据。该函数返回 Python 字段的数据类型。

语法


Python  --  Json  数据编码及解析_python_10