VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • Python3内置模块之json编码解码方法讲解(2)

示例结果:

1
"Python3"

格式化输出JSON

将下面的数组,转化为标准的json格式

1
2
3
4
import json 
ldata = ['Python3'100, {'www'1'pythontab.com'2'Python3'3}, True]
jdata = json.dumps(ldata, sort_keys=True, indent=4)
print(jdata)

示例结果:

1
2
3
4
5
6
7
8
9
10
[
    "Python3",
    100,
    {
        "Python3"3,
        "pythontab.com"2,
        "www"1
    },
    true
]

参数解析: 

sort_keys=True 那么字典的输出会以键的顺序排序

indent=4 表示缩进为4,如果 indent 是一个非负整数或者字符串,那么 JSON 数组元素和对象成员会被美化输出为该值指定的缩进等级。

转换关系对照表

下面为Python原始类型向JSON对象的转化对照表:

Python JSON
dict object
list, tuple array
str, unicode string
int, long, float number
True true
False false
None null
 

loads解码

我们利用 loads 用于解码 JSON对象 。解码结果即与之对应的 Python对象 类型。当然 loads 只完成了反序列化, load 只接收文件描述符,完成读取文件和反序列化。

比如我们用来解码上个示例的数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import json 
jsondata = '''
[
    "Python3",
    100,
    {
        "Python3": 3,
        "pythontab.com": 2,
        "www": 1
    },
    true
]
'''
ldata = json.loads(jsondata)
print(type(ldata))
print(ldata)

相关教程