____tz_zs笔记
JSON
JSON (JavaScript Object Notation) 是一种轻量级数据交换格式。可以对复杂数据进行表达和存储,易于阅读和理解。采用对象、数组方式组织起来的键值对可以表示任何结构的数据。特点:1.数据保存在键值对中, 2.键值对之间由逗号分隔, 3.花括号用于保存键值对数据组成的对象, 4.方括号用于保存键值对数据组成的数组
JSON 库是处理 JSON 格式的 Python 标准库
import json # 导入json库
解码(decoding)
从 JSON 格式中解析数据对应到 Python 数据类型的过程
loads() 将字符串解码(反序列化)为Python数据类型对象(如list、dict等)
load() 与loads()功能一致,从文件读入
f = open(filepath, mode='r', encoding='utf-8')
list = json.load(f)
f.close()
编码(encoding)
将 Python 数据类型转换成 JSON 格式的过程
dumps() 将Python数据类型对象编码(序列化)为JSON格式的字符串
dump() 与dumps()功能一致,输出到文件
f = open(filepath, mode='w', encoding='utf-8')
json.dump(list, f, ensure_ascii=False) # ensure_ascii 设置为 False 是为了保正中文不被转译
f.close()
示例:
#!/usr/bin/python2.7
# -*- coding:utf-8 -*-
import json
keys = ['a', 'b', 'c']
mydict = {keys[i]: i for i in range(len(keys))}
dumps = json.dumps(mydict)
print dumps
print type(dumps)
loads = json.loads(dumps)
print loads
print type(loads)
"""
{"a": 0, "c": 2, "b": 1}
<type 'str'>
{u'a': 0, u'c': 2, u'b': 1}
<type 'dict'>
"""
mylist = [1, 2, 3, 4, 5, 6]
dumps = json.dumps(mylist)
print dumps
print type(dumps)
loads = json.loads(dumps)
print loads
print type(loads)
"""
[1, 2, 3, 4, 5, 6]
<type 'str'>
[1, 2, 3, 4, 5, 6]
<type 'list'>
"""
end