日常记录
JSON的那些事
说起JSON算是解放前后端数据交互的功臣,是一种轻量级的数据交换格式。在前后端的交互与常用的语义方面具有大用处。之前被面试问到,当时也没准备所以有点受到打击。本着亡羊补牢的目的对之前的知识进行总结。
其实在python的JSON使用方面相对来说是比较简单的,更多的就是读取和编码,所以Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数:
- json.dumps():对数据进行编码
- json.loads():对数据进行解码
在json 的编码与解码的过程中,存在数据类型的相互转换,具体的转化可以参考:
Python 数据类型转化成JSON你类型对应表
Python数据类型 | JSON |
---|---|
dict | object |
list,tuple | array |
str | string |
int, float, int- & float-derived Enums | number |
True/False | true/false |
None | null |
JSON解码为Python数据类型转换对应表
JSON | Python数据类型 |
---|---|
object | dict |
array | list |
stirng | str |
object | dict |
number(int) | int |
number(real) | float |
true/false | True/False |
null | None |
字典和json互转示例
json串转dict(字典)示例
# -*- coding:utf-8 -*-
import json
if __name__ == "__main__":
print("json转dict")
json_str = '{"name": "开源优测", "url": "www.testingunion.com", "id": "DeepTest"}'
# 原类型
print("原类型:", type(json_str))
# 转成dict对象
# 会被转换成字典类型
json_dict = json.loads(json_str)
print("转换后的类型:", type(json_dict))
# 遍历字典
for (k, v) in json_dict.items():
print(k," : " , v)
dict字典转json串示例
# -*- coding:utf-8 -*-
import json
if __name__ == "__main__":
print("字典转json串")
json_dict = {
"name": "开源优测",
"url": "www.testingunion.com",
"id": "DeepTest"
}
print("原类型:" , type(json_dict))
# 将字典转换成json串
# 会被转换成字符串类型
json_str = json.dumps(json_dict)
print("转换后的类型:", type(json_str))
print(json_str)
python中json模块的简单用法
>>> import json
>>> dic = dict(name='James',age=18)
>>> dic_to_str = json.dumps(dic)
>>> dic_to_str
'{"age": 18, "name": "James"}'
>>> type(dic_to_str)
<type 'str'>