码迷,mamicode.com
首页 > 编程语言 > 详细

Python json用法--dumps与loads dump与load

时间:2019-04-08 19:57:38      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:双引号   转换   json   file_path   成功   dump   pytho   odi   对象   

dumps与loads

相同点

都是在内存中转换

不同点
  • dumps

    把特定的对象序列化处理为字符串,即把dict或list转换为str

  • loads把字符串通过反序列化转换成list和dict

    注意:如果外形不是list或者dict的形状,则不会转换成功的,这里必须要注意,字符串的外面的引号必须是“单引号”,内部必须是双引号,如果不是这样 ,json模块会报错的

dump与load

相同点

都是在文件中处理

不同点
  • dump

    dump是把序列化后的字符串写到一个文件中

  • load

    load是从一个一个文件中读取文件

 

代码示例

```

import json,pytest


#将dict或list转化成string
def test_dumps(sth):
return json.dumps(sth)

#将string转换成dict或list
def test_loads(sth):
return json.loads(sth)

#往json文件写入内容
def test_dump(sth,file):
json.dump(sth,open(file,‘w‘))
json_object = json.load(open(file,‘r‘))
return json_object
#无法追加内容,会把之前的json文件内容覆盖

#读取json文件
def test_load(file):
with open(file,encoding=‘utf-8‘) as f:
json_object = json.load(f,encoding=‘utf-8‘)
return json_object


def test_add_json():
pass


if __name__ == ‘__main__‘:
dict={‘k1‘:‘v1‘}
dumps_sth=test_dumps(dict)
print(dumps_sth)
print(type(dumps_sth))
print(‘\n‘)
str=‘{"k1": "v1"}‘
print(test_loads(str))
print(type(test_loads(str)))
print(‘\n‘)
file_path=r"E:\testdata\test.json.py"
print(test_load(file_path))
print(type(test_load(file_path)))
print(‘\n‘)
d1 = {‘age‘:18}
print(test_dump(d1,file_path))
print(type(test_dump(d1,file_path)))


```

Python json用法--dumps与loads dump与load

标签:双引号   转换   json   file_path   成功   dump   pytho   odi   对象   

原文地址:https://www.cnblogs.com/echoqi/p/10672906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!