Python中常用的JSON数据解析#附有实例

json模块提供了两个函数对数据格式转换
json.dumps(): 对数据进行编码
json.loads(): 对数据进行解码

Python类型编码成JSON格式的类型转换表

Python JSON
dict(字典) object(对象)
list(列表), tuple(元组) array(数组)
str(字符串‘’或“”) string(字符串“”)
int, float, int- & float-derived Enums number
True true
False false
None null

JSON格式解码为Python类型转换对应表

JSON Python
object dict
array list
string str
number (int) int
number (real) float
true True
false False
null None

下面为常用的格式转换实例:
Python字典类型与JSON对象互相转换

# Python 字典类型转换为 JSON 对象
python_data = {
    'name' : 'mcchen',
    'blog-url' : 'https://blog.csdn.net/muchong123'
}
json_str = json.dumps(python_data)
print ("Python 原始数据:", repr(python_data))
print ("JSON 对象:", json_str)

结果:
Python 原始数据: {'name': 'mcchen', 'blog-url': 'https://blog.csdn.net/muchong123'}
JSON 对象: {"name": "mcchen", "blog-url": "https://blog.csdn.net/muchong123"}

# 将 JSON 对象转换为 Python 字典
python_dict = json.loads(json_obj)
print ("python_dict['name']: ", python_dict['name'])
print ("python_dict['blog-url']: ", python_dict['blog-url'])

结果:
python_dict['name']:  mcchen
python_dict['blog-url']:  https://blog.csdn.net/muchong123

Python 列表,元组类型与JSON数组互相转换

#Python 列表 类型转换为 JSON 对象
python_list = ['tengxun', 'baidu', 'alibaba', 'jingdong']
json_array = json.dumps(python_list)
print ("Python 列表原始数据:", repr(python_list))
print ("JSON 数组:", json_array)

结果:
Python 列表原始数据: ['tengxun', 'baidu', 'alibaba', 'jingdong']
JSON 数组: ["tengxun", "baidu", "alibaba", "jingdong"]

#Python 元组 类型转换为 JSON 数组
python_tuple = ('tengxun', 'baidu', 'alibaba', 'jingdong')
json_array = json.dumps(python_tuple)
print ("Python 元组原始数据:", repr(python_tuple))
print ("JSON 数组:", json_array)

结果:
Python 元组原始数据: ('tengxun', 'baidu', 'alibaba', 'jingdong')
JSON 数组: ["tengxun", "baidu", "alibaba", "jingdong"]

#将 JSON 数组 转换为Python 列表
python_dict = json.loads(json_array )
print ("Python列表: ", python_dict)

结果:
Python列表:  ['tengxun', 'baidu', 'alibaba', 'jingdong']
发布了34 篇原创文章 · 获赞 7 · 访问量 8876

猜你喜欢

转载自blog.csdn.net/muchong123/article/details/104342751