18. json模块

一、模块使用

1. json.dumps()

注:json.dumps()用于将dict类型的数据转成str;ensure_ascii=True,json.dumps序列化时候对中文默认使用的ascii编码,想要输出真正的中文需要指定ensure_ascii=False

import json
name = {'a': '1', 'b': '2', 'c': '3', 'd': '4'}
json_obj = json.dumps(name)
print(name, type(name))
print(json_obj, type(json_obj))
>>{'a': '1', 'b': '2', 'c': '3', 'd': '4'} <class 'dict'>
>>{"a": "1", "b": "2", "c": "3", "d": "4"} <class 'str'>

2. json.loads()

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

import json
name = {'a': '1', 'b': '2', 'c': '3', 'd': '4'}
json_dumps = json.dumps(name)
json_loads = json.loads(json_dumps)
print(name, type(name))
print(json_dumps, type(json_dumps))
print(json_loads, type(json_loads))

>>{'a': '1', 'b': '2', 'c': '3', 'd': '4'} <class 'dict'>
>>{"a": "1", "b": "2", "c": "3", "d": "4"} <class 'str'>
>>{'a': '1', 'b': '2', 'c': '3', 'd': '4'} <class 'dict'>

3. json.dump()

注:json.dump()用于将dict类型的数据转成str,并写入到json文件中

import json
name = {'a': '1', 'b': '2', 'c': '3', 'd': '4'}
filePath = ("data.json")

# soluton_one
json_obj = json.dumps(name)
with open(filePath, "w") as f:
    f.write(json_obj)

# solution_two
json.dump(name, open(filePath, "w"))

4. json.load()

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

import json
filename = "data"
json_obj = json.load(open(filename))
print(json_obj, type(json_obj))

for key in json_obj.keys():
    print(key, json_obj.get(key))

>>{'a': '1', 'b': '2', 'c': '3', 'd': '4'} <class 'dict'>
>>a 1
>>b 2
>>c 3
>>d 4
posted @ 2020-03-10 17:39  qi.hu  阅读(163)  评论(0编辑  收藏  举报