Json是一种轻量级的数据交换格式。
1.json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串)
- json.dumps()函数 将 Python 对象编码成 JSON 字符串(字典–》字符串)【编码】
- json.loads()函数 将已编码的 JSON 字符串解码为 Python 对象(字符串----》字典)【解码】
语法
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)
实例
#!/usr/bin/python
'''#json.dumps用于将Python对象编码成JSON字符串
语法:
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)'''
data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
print(data)
print(type(data))
js = json.dumps(data)
print(js)
print(type(js))
print(json.dumps({'a': 'Runoob', 'b': 7}, sort_keys=True, indent=4, separators=(',', ': ')))
"""json.loads
用于解码json数据,返回python字段的数据类型
语法:
json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])
"""
jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}'
text = json.loads(jsonData)
print(text)
print(type(text))
在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 类型转换对应表:
JSON Python
object dict
array list
string str
number (int) int
number (real) float
true True
false False
null None
使用第三方库:Demjson
Demjson 是 python 的第三方模块库,可用于编码和解码 JSON 数据,包含了 JSONLint 的格式化及校验功能。
encode
Python encode() 函数用于将 Python 对象编码成 JSON 字符串。
语法 demjson.encode(self, obj, nest_level=0)
decode
Python 可以使用 demjson.decode() 函数解码 JSON 数据。该函数返回 Python 字段的数据类型。 demjson.decode(self, txt)