Python Json模块中dumps、loads、dump、load函数介绍

1、json.dumps()

 json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数。

import json

name = {'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'}

jsDumps = json.dumps(name)

print(name,'类型为:%s'%type(name))
print(jsDumps,'类型为:%s'%type(jsDumps))

结果为

{'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'} 类型为:<class 'dict'>
{"a": "zhangsan", "b": "lisi", "c": "mawu", "d": "zhaoliu"} 类型为:<class 'str'>

2、json.dump()

json.dump()用于将dict类型的数据转成str,并写入到json文件中。下面两种方法都可以将数据写入json文件

import json
nameList = {'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'}

fileName = ('./namejson.json')

# 方法 1 #现将字典转为字符串,在写入文件中
jsObj = json.dumps(nameList)
with open(fileName, "w",encoding='utf-8') as f:
  f.write(jsObj)
  f.close()

# 方法 2 # 直接写入文件中 格式:json.dump(字典或列表,打开文件,ensure_ascii=False) 关闭ascii转码

json.dump(nameList, open(fileName, "w",encoding='utf-8'),ensure_ascii=False)

3、json.loads()

json.loads()用于将str类型的数据转成dict。

import json

name = {'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'}

jsDumps = json.dumps(name)
jsLoads = json.loads(jsDumps)

print(name,'类型为:%s'%type(name))
print(jsDumps,'类型为:%s'%type(jsDumps))
print(jsLoads,'类型为:%s'%type(jsLoads))

结果为

{'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'} 类型为:<class 'dict'>
{"a": "zhangsan", "b": "lisi", "c": "mawu", "d": "zhaoliu"} 类型为:<class 'str'>
{'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'} 类型为:<class 'dict'>

4、json.load()

json.load()用于从json文件中读取数据。

import json

emb_filename = ('./emb_json.json')

jsObj = json.load(open(emb_filename))

print(jsObj)
print(type(jsObj))

for key in jsObj.keys():
    print('key: %s  value: %s' % (key, jsObj.get(key)))

结果为

扫描二维码关注公众号,回复: 1990903 查看本文章
{'a': 'zhangsan', 'b': 'lisi', 'c': 'mawu', 'd': 'zhaoliu'}
<class 'dict'>
key: a  value: zhangsan
key: b  value: lisi
key: c  value: mawu
key: d  value: zhaoliu

猜你喜欢

转载自www.cnblogs.com/mswyf/p/9283546.html
今日推荐