从python转为json的官方数据格式为:
python | JSON |
---|
dict | object |
list,tuple | array |
str,unicode | string |
int,long,float | number |
True | true |
False | false |
None | null |
从son转为python的言方数据格式为:
python | JSON |
---|
object | dict |
array | list |
string | unicode |
number (int) | int,long |
number (real) | float |
true | True |
false | False |
null | None |
类型 | 定义 | > | 方法 | > | 定义 | 类型 |
---|
python的str | jsonData = '{"a":1,"b":2}' | > | data_dict = json.loads(jsonData) | > | data_dict = {'a': 1, 'b': 2} | python的dict |
JSON文件 | with open("jdata.json",'r') as load_f: | > | load_dict = json.load(load_f) | > | data_dict = {'a': 1, 'b': 2} | python的dict |
python的dict | data = [{'a': 1, 'b': 2}] | > | data_str = json.dumps(data) | > | data_str = '[{'a': 1, 'b': 2}]' | JSON/python的str |
python的dict | data = { 'a': 1, 'b': 2} | > | json.dump(data,f,indent) | > | [{'a': 1, 'b': 2}] | JSON文件 |
导入
import json
读 从 字符串JSON --> dict字典 - json.loads()
import json
# 注意!逗号不可以写多
# 注意!不能用单引号要双引号
jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}'
data_dict = json.loads(jsonData)
print(data_dict)
读 从 JSON文件 --> dict字典 - json.load()
with open("jdata.json",'r') as load_f:
data_dict = json.load(load_f)
写 从 dict字典 --> 字符串JSON --> Excel数据库 - json.dumps
import json
data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
data_str = json.dumps(data,indent,ensure_ascii=False)
# ensure_ascii=False # 'u111'转成中文
print(type(data_str)
print(data_str)
<class 'str'>
[{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}]
写 从 dict字典 --> 字符串JSON --> JSON文件 - json.dump
import json
data = { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 }
f = open('jdata.json','w',encoding='utf-8')
json.dump(data,f,indent,ensure_ascii=False)
# ensure_ascii=False # 'u111'转成中文
参数indent,为字符串转行 + 缩进
'''
{
"xiaojun": "123456",
"xiaohei": "7891",
"lrx": "hailong",
"tanailing": "111111"
}
'''