python3 json 模块

json 模块

@(python3)

官方说明文档

json.cn 自动解析工具

JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。python3 可以使用 json 模块来对 JSON 数据进行编解码。

  • json.loads() 将 json 字符串解码为 python 对象

json.dumps

将 python 对象编码转化为 json 字符串

import json

data = {'Citizen_Wang':1, 'Always fall in love':2, 'with neighbours.':3}
json_str = json.dumps(data)
print('Python 原始数据是:', data)
print('json 对象:',json_str)

print(type(data))
print(type(json_str))

输出结果:

Python 原始数据是: {'Citizen_Wang': 1, 'Always fall in love': 2, 'with neighbours.': 3}
json 对象: {"Citizen_Wang": 1, "Always fall in love": 2, "with neighbours.": 3}
<class 'dict'>
<class 'str'>

转化后的 json_str 是一个字符串类型,可以使用 enumerate 来查看一下 json_str 字符串的索引值和对应值。

for i,v in enumerate(json_str):
    print(i, v)

json.dumps 可以把 python 相应的类型,转化为 json 的一些类型,具体可以参考上面的表格。

json.loads

将 json 格式转化为 python 格式

import json

data = {'Citizen_Wang':1, 'Always fall in love':2, 'with neighbours.':3}
json_str = json.dumps(data)
print('Python 原始数据是:', data)
print('json 对象:',json_str)

print(type(data))
print(type(json_str))

date2 = json.loads(json_str)
print(date2)
print(type(date2))

输出结果:

{'Citizen_Wang': 1, 'Always fall in love': 2, 'with neighbours.': 3}
<class 'dict'>

json.dump

dump 和 dumps 的功能一样,将 dict 转化为 str 的格式,然后存入文件中。

import json

data = {'Citizen_Wang':1, 'Always fall in love':2, 'with neighbours.':3}
json_str = json.dumps(data)
file = open('2.txt', 'w')
print(type(file))

json.dump(data, file)
json.dump(json_str, file)

file.close()

json.load

load 和 loads 的功能一样,从文件中读取 str 格式并将其转化为字符串。

file = open('2.txt', 'r')
print(json.load(file))

load 在读取的时候,只需要文件对象一个参数即可。而 dump 在使用的时候,需要 python 对象作为第一个传入参数,文件对象作为第二个传入参数。

小结:

dump 或 dumps, 把其他对象或者格式,转化为 json 格式,dumps 用来处理字符串,dump 用来处理文件。

load 或 loads ,把 json 格式转化成其他格式,loads 用来处理字符串,load 用来处理文件。

你可能感兴趣的:(python3 json 模块)