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函数介绍的主要内容,如果未能解决你的问题,请参考以下文章

Json模块dumpsloadsdumpload函数介绍

Python中的Json模块dumpsloadsdumpload函数介绍

Python Json模块中dumpsloadsdumpload函数介绍

Python Json模块中dumpsloadsdumpload函数介绍哦

Json中dumpsloadsdumpload函数实例讲解

JSON