一文看懂Python的json_dump(s)和json_load(s)

肯定有很多人像我这样傻傻分不清楚json_dump和json_dumps的区别、json_load和json_loads 的区别、今天就一次性的学会它!

首先我们来区分下带s和不带s的区别:

这个就很简单了:

        1、不带s的都是用在文件下载时或文件提取时

        with open('./cookie/hs_cookies.json', 'a+') as fp:
            json.dump(hs_cookies,fp)

        2、带s的顾名思义就是不需要文件下载的时候使用

        hs_cookies = json.load(fp)

是不是很容易理解

一文看懂Python的json_dump(s)和json_load(s)_第1张图片

然后我们再来分析下json_dump(s)( ) 和json_load(s)( )的区别 

json.dump(): 编码,用于将dict类型的数据转成str类型,并写入到json文件
json.load():   解码,用于从json文件中读取数据

json.dumps():将Python数据结构转换为JSON,即dict类型转成str类型

json.loads():将JSON编码的字符串转换回Python数据结构,即str类型转换成dict类型

是不是非常容易理解了就

接下来上具体的代码看下吧

json.dumps()

import json

data = {
    'name' : 'name',
    'age' : 20,
}

#  其实就是把python的数据类型转化成json的数据类型嘛
json_str = json.dumps(data,ensure_ascii=False)

 json.loads()

import json

#  用dumps()将python编码成json字符串
data = json.dumps(data)
#  用loads将json编码成python
#  其实就是把json的数据类型转化成python的数据类型嘛
print(json.loads(data))

json.dump()

import json

data = {
	'name':'name',
	'age':20,
}
#  将python编码成json放在那个文件里
#  其实就是把python的数据类型转化成json的数据类型嘛
filename = 'a.txt'
with open (filename,'w') as f:
    json.dump(data ,f)

json.load()

import json

data  = {
	'name':'name',
	'age':20
}

filename = 'a.txt'


with open (filename, encoding='utf-8') as f:
    print(json.load(f))

一文看懂Python的json_dump(s)和json_load(s)_第2张图片

好了、借此机会我也算是记住两者的区别了、教学相长 

你可能感兴趣的:(json)