1:json模块
一:注意:使用json格式传参时--默认headers请求头中添加Content-Type:application/json
1:json格式---Content-Type:application/json
请求参数{"mobile_phone":"13164761466","pwd":"123456789"}
json=json
2:data格式(非json都是xml)---Content-Type:application/x-www-form-urlencode
mobile_phone=13164761466&pwd=123456789
date=date
注意:使用json格式传参时--默认headers请求头中添加Content-Type:application/json
二:json格式
1:json序列化(就是把python数据(字典,列表)转换为字符(字符里面存的object数据)给别人去用。
import json
1.1:字典转json格式字符串
json.dumps(dic) 区别:转化后None为null False为false True为true 元祖和列表都转换为[] 单引号都是双引号,统一转化为字符数组(javaScript):
data={'a1':'b',"c":"d","f":None,"g":False,"m":True}
print(json.dumps(data))
{"a1": "b", "c": "d", "f": null, "g": false, "m": true}
print(repr(json.dumps(data)))--json格式字符串
'{"a1": "b", "c": "d", "f": null, "g": false, "m": true}'
1.2元祖和列表都转换为[]
data={'a1':[1,2,'a'],"c":(1,2),"f":None,"g":False,"m":True}
print(repr(json.dumps(data)))
'{"a1": [1, 2, "a"], "c": [1, 2], "f": null, "g": false, "m": true}'
2:字符串转json(注意里面的key必须是双引号)
先字符串转换为字典-json.loads------可以直接传json的字典格式默认为单引号
data='{"a1":"b","c":"d","f":"12"}'
data1=json.loads(data)
print(data1)
{'a1': 'b', 'c': 'd', 'f': '12'}
三:JScritp
3.1:JS反序列化-自己用,JSON.parse-里面是参数是python序列化生成的字符数据
JSON.parse('{"a1": [1, 2, "a"], "c": [1, 2], "f": null, "g": false, "m": true,"b":"c"}')
{a1: Array(3), c: Array(2), f: null, g: false, m: true, …}
3.2:JS反序列化-给别人用,JSON.stringify
JSON.stringify({"name":"li","f":null})-------'{"name":"li","f":null}'
生成数据python-json模块反序列自己用--json.loads
print(json.loads('{"name":"li","f":null}'))
{'name': 'li', 'f': None}
四:json.dumps参数,ensure_ascii--默认不支持中文--需要支持中文,空格需要去除separators=(",",":")
print(json.dumps({"name": "li","f": True,'b': '你好'}))
{"name": "li", "f": true, "b": "\u4f60\u597d"}--存在空格和中文没有转化
print(json.dumps({"name": "li","f": True,'b': '你好'},ensure_ascii=False,separators=(",",":")))
{"name":"li","f":true,"b":"你好"}

浙公网安备 33010602011771号