Python对json的读写

读写json代码

# -*- coding:utf-8 -*-
#读取json文件,输出的data为字典
def load_json():
    with open('data.json','r') as json_file:
        data = json.load(json_file)
    return data

#输出json文件,其中data为字典
def store(data):
    with open('data.json','w') as json_file:
        json_file.write(json.dumps(data))

函数说明

dumps是将dict转化成json格式,loads是将json转化成dict格式
dump和load也是类似的功能,只是与文件操作结合起来了

  • dumps() 参数为dict
  • loads() 参数为str
  • dump() 参数为(dict,*file)
  • load() 参数为*file,该文件为json

将dict格式转换成str(json格式),使用json.dumps()
将str(json格式)转换成dict数据格式,使用json.loads()

data = {
    'name' : 'ACME',
    'shares' : 100,
    'price' : 542.23
}
json_str = json.dumps(data)
newdata = json.loads(json_str)
print(newdata==data)
#输出结果为TRUE

如果你要处理的是文件而不是字符串,你可以使用 json.dump()和json.load() 来编码和解码 JSON 数据。
例如:

# Writing JSON data
with open('data.json', 'w') as f:
    json.dump(data, f)

# Reading data back
with open('data.json', 'r') as f:
    data = json.load(f)

特别说明

  • json库不支持带BOM的UTF-8的格式编码,所以使用notepad++对json进行编码格式转换。
  • 对路径数据读取的时候,“\”需要转义,使用"\"。
  • json何python的对应关系
    python<——>json
Python JSON
dict object
list array
str,unicode string
int,long,float number
True true
False false
None null

你可能感兴趣的:(Python对json的读写)