# 1. python【字典】转json格式【str】
import json
dic = {'a': 1, 'b': 2, 'c': 3}
str1 = json.dumps(dic, sort_keys=True, indent=4, separators=(',', ':'))
str2 = json.dumps(dic)
'''
我们来对这几个参数进行下解释:
sort_keys:是否按照字典排序(a-z)输出,True代表是,False代表否。
indent=4:设置缩进格数,一般由于Linux的习惯,这里会设置为4。
separators:设置分隔符,在dic = {'a': 1, 'b': 2, 'c': 3}这行代码里可以看到冒号和逗号后面都带了个空格,这也是因为Python的默认格式也是如此,
如果不想后面带有空格输出,那就可以设置成separators=(',', ':'),如果想保持原样,可以写成separators=(', ', ': ')。
'''
# 2. python (类)json格式【str】转python【dict】
pip install demjson
import demjson
js_json = "{x:1, y:2, z:3}"
py_json1 = "{'x':1, 'y':2, 'z':3}"
py_json2 = '{"x":1, "y":2, "z":3}'
data = demjson.decode(js_json) # {'y': 2, 'x': 1, 'z': 3}
# 3. python json格式【str】转python【dict】
import json
str = '{"accessToken": "521de21161b23988173e6f7f48f9ee96e28", "User-Agent": "Apache-HttpClient/4.5.2 (Java/1.8.0_131)"}'
j = json.loads(str) # dict 类型
# 3. 函数化
def list_to_json(str):
dic = {}
for i, j in enumerate(str):
dic[i] = j
return json.dumps(dic, sort_keys=True, indent=4, separators=(',', ': '))