当前位置: 移动技术网 > IT编程>脚本编程>Python > python模块:JSON模块

python模块:JSON模块

2020年03月31日  | 移动技术网IT编程  | 我要评论

昌平区邮编,成都万达电影院影讯,丹东新闻频道

目录

在日常开发中,对数据进行序列化和反序列化,是常备的操作。而在python标准库中提供了json模块对json数据的处理功能。

什么是json?

json(javascript object notation)是一种使用广泛的轻量数据格式,相对于xml而言更简单,也易于阅读和编写,机器也方便解析和生成,json是javascript中的一个子集。

json 模块提供了四个方法: dumps、dump、loads、load。

python的json模块序列化与反序列化的过程分别是 encoding和 decoding encoding:把一个python对象编码转换成json字符串 decoding:把json格式字符串解码转换成python对象

对于简单数据类型(string、unicode、int、float、list、tuple、dict),可以直接处理。

json 序列化

json 序列化,是把一个python对象编码转换成json字符串。 具体的操作为: json.dumps()

import json
json_str = [
        {"name":"tom", "aga":20},
        {"name":"jack", "aga":16}
    ]
student =json.dumps(json_str)

print(type(student))
#<class 'str'>
上述list已经序列化为json字符串

print(student)
#[{"name": "tom", "aga": 20}, {"name": "jack", "aga": 16}]

json 反序列化

json 反序列化,是把json格式字符串解码转换成python类型。 具体的操作为: json.loads()

python中将json反序列化list:

import json
json_str = '[{"name":"tom", "aga":20},{"name":"jack", "aga":16}]'
student = json.loads(json_str)

print(type(student))
#<class 'list'>
print(student)
#[{'aga': 20, 'name': 'tom'}, {'aga': 16, 'name': 'jack'}]

python中将json反序列化dict字典:

import json
json_str = '{"name":"tom", "aga":20, "sex":"female"}'
注意上述字符串要加引号:双引号,数字不用加,布尔值不用加
整个字符串可以用单引号包装;

student = json.loads(json_str)
print(type(student))
#输出 <class 'dict'>
print(student)
#输出 {'name': 'tom', 'sex': 'female', 'aga': 20}

访问json的成员
print(student['name'])

数据类型转换

在默认实现中, json.dumps可以处理的python对象, 及其所有的属性值, 类型必须为dict, list, tuple, str, float或者int。

默认实现中, json和python之间的数据转换对应关系如下表:

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网