在编写接口传递数据时,往往需要使用JSON对数据进行封装。python和json数据类型的转换,看作为编码与解码。
编码:json.dumps()
Python | JSON |
---|---|
dict | object |
list, tuple | array |
str | string |
int, float, int- & float-derived Enums | number |
True | true |
False | false |
None | null |
解码:json.loads()
JSON | Python |
---|---|
object | dict |
array | list |
string | str |
number (int) | int |
number (real) | float |
true | True |
false | False |
null | None |
普通的字典类型:
#!/usr/bin/env python
# -*- coding: utf-8 -*- import json d = dict(name='Bob', age=20, score=88)
print '编码前:'
print type(d)
print d
编码后的JSON类型:
# python编码为json类型,json.dumps()
en_json = json.dumps(d)
print '编码后:'
print type(en_json)
print en_json
解码后的Python类型:
# json解码为python类型,json.loads()
de_json = json.loads(en_json)
print '解码后:'
print type(de_json)
print de_json
解析后Python类型:
# eval()解析json
d = dict(name='Bob', age=20, score=88)
en_json = json.dumps(d)
de_json = eval(en_json)
print '解析后:'
print type(de_json)
print de_json
!!!