Json模块dumpsloadsdumpload函数介绍
Posted 最萌小胡胡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Json模块dumpsloadsdumpload函数介绍相关的知识,希望对你有一定的参考价值。
1、json.dumps()和loads()
json.dumps()将dict类型数据转成str。
json.loads()刚好相反,将str类型的数据转成dict。
import json data= {\'a\':\'1111\',\'b\':\'2222\',\'c\':\'3333\',\'d\':\'4444\'} filename = r"d:\\1.json"
# 使用dumps() str_data = json.dumps(data) print(str_data) #输出{"a": "1111", "b": "2222", "c": "3333", "d": "4444"}
# 使用loads() dict_data = json.loads(str_data) print(dict_data) #输出{\'a\': \'1111\', \'b\': \'2222\', \'c\': \'3333\', \'d\': \'4444\'}
2、json.dump()和json.load()
json.dump主要用来文件写入,json.load主要用来文件读取。但是只能写入读取一条数据,多条会报错。
json.dump(x,f),x是对象,f是一个文件对象,这个方法可以将json字符串写入到文件中。
json.load(f),f是一个文件对象,这个方法可以从文件中读取json数据。
import json data = {\'a\':\'1111\',\'b\':\'2222\',\'c\':\'3333\',\'d\':\'4444\'} filename = r"d:\\1.json" # 使用dump()写入一行数据 with open(filename, "w") as f: json.dump(data,f) # 使用load()读取一行数据 with open(filename, \'r\') as f: jsObj = json.load(f) for key in jsObj.keys(): print(\'key: %s value: %s\' % (key,jsObj.get(key)))
输出:
key: a value: 1111
key: b value: 2222
key: c value: 3333
key: d value: 4444
3、如何读取写入多行数据呢?
import json filename = r"d:\\1.json" data = [{\'a\':\'1111\',\'b\':\'2222\',\'c\':\'3333\',\'d\':\'4444\'}, {\'e\':\'1111\',\'f\':\'2222\',\'g\':\'3333\',\'h\':\'4444\'}, {\'i\':\'1111\',\'j\':\'2222\',\'k\':\'3333\',\'l\':\'4444\'}, {\'m\':\'1111\',\'n\':\'2222\',\'o\':\'3333\',\'p\':\'4444\'}] #写入多行数据到文件 with open(filename,\'w\') as f: for i in range(len(data)): f.write(json.dumps(data[i])+\'\\n\') #一定要换行 #从文件读取多行数据,并转化为list with open(filename,\'r\') as f: jsObj=[json.loads(line) for line in f] print(jsObj)
以上是关于Json模块dumpsloadsdumpload函数介绍的主要内容,如果未能解决你的问题,请参考以下文章
Python中的Json模块dumpsloadsdumpload函数介绍
Python Json模块中dumpsloadsdumpload函数介绍