python中json.dumps()和json.load()的区别

出处:https://www.cnblogs.com/xiaomingzaixian/p/7286793.html

首先说明基本功能:

dumps是将dict转化成str格式,loads是将str转化成dict格式。

dump和load也是类似的,只是与文件操作结合起来了。

 

一、概念理解

1、json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串)
  (1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串)
  (2)json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典)

2、json.dump()和json.load()主要用来读写json文件函数

 

总结:
1、json.dumps : dict转成str, json.loads : str转成dict

 

2、json.dump是将python数据转成json,存到文件中

3、json.load是将文件中的json数据读取出来

 

 

 

 

JSON 函数

 

使用 JSON 函数需要导入 json 库:import json

函数 描述
json.dumps 将 Python 对象编码成 JSON 字符串
json.loads 将已编码的 JSON 字符串解码为 Python 对象

 

In [1]: import json
 
In [2]: a = {'name': 'wang', 'age': 29}
 
In [3]: b = json.dumps(a)
 
In [4]: print b, type(b)
{"age": 29, "name": "wang"} 
 
In [11]: json.loads(b)
Out[11]: {u'age': 29, u'name': u'wang'}
 
In [12]: print type(json.loads(b))





 

 

 

json.dumps是将一个Python数据类型列表进行json格式的编码解析,
示例如下:


>>> import json #导入python 中的json模块
>>> l = [‘iplaypython’,[1,2,3], {‘name’:’xiaoming’}] #创建一个l列表 >>> encoded_json = json.dumps(l) # 将l列表,进行json格式化编码 >>> print repr(l) >>> print encoded_json #输出结果 

这样我们就将一个list列表对象,进行了json格式的编码转换。

解码python json格式,可以用这个模块的json.loads()函数的解析方法,
示例如下:


>>> decode_json = json.loads(encoded_json)
>>> print type(decode_json) #查看一下解码后的对象类型
>>> print decode_json #输出结果 

将python json格式解码成Python数据风格

json.dump和json.dumps很不同,json.dump主要用来json文件读写,和json.load函数配合使用。
json.dump(x,f),x是对象,f是一个文件对象,这个方法可以将json字符串写入到文本文件中。


import json
data = [{"a":"aaa","b":"bbb","c":[1,2,3,(4,5,6)]},33,'tantengvip',True] data2 = json.dumps(data) print(data2) f = open('./tt.txt','a') json.dump(data2,f) 

这样就生成了一个tt.txt文件,保存了json格式的数据。dumps还提供pritty print,格式化的输出。

json.load加载json格式文件 下面是从txt文件中读取了json数据。

f = open('./tt.txt','r')
hehe = json.load(f)
print(hehe)

如果你要处理的是文件而不是字符串,你可以使用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)

总结:
1、json.dumps : dict转成str

 

2、json.dump是将python数据保存成json

 

3、json.load是将文件中的json数据读取出来

 

 

 

你可能感兴趣的:(web前端)