7.Python和Json类型转换

一、python和json类型转换

 

二、Python转json

 

需要先import json, 方法:json.dumps()
dump: 是针对文件的

1. Python中的Nonejson

a =None     #None的类型是:NoneType
aa = json.dumps(a)
print(aa)  #null的类型是str

2. Python中的True/Falsejson

b = True  #True的类型是:bool
bb = json.dumps(b)
print(bb)  # true的类型是str

3. Python中的list/tuple转json:

import json
a = [{"a":1,"b":2,"c":None,"d":True}]
print(a)   # [{'a': 1, 'b': 2, 'c': None, 'd': True}]
print(type(a))  # <class 'list'>
aa = json.dumps(a)
print(aa)  # [{"a": 1, "b": 2, "c": null, "d": true}]
print(type(aa))  # <class 'str'>

4. Python中的dictjson

import json
a = {"c": None, "d": True}  # 数据类型dict
print(json.dumps(a))    # {"c": null, "d": true}
print(type(json.dumps(a)))  # <class 'str'>

5. pyton中的字典转python中的字符串,而非json格式

a = {"c": None, "d": True}  # 数据类型dict
print(str(a))   # {'c': None, 'd': True} 
print(type(str(a)))  #<class 'str'>

注:python中没有json这种类型,转成null/true/false后,其实就是符合json格式的字符串

三、Json转Python

需要先import json, 方法:json.loads()

1. Json格式的字符串(类似于python中的list类型)转python中的list

import json
a = '[{"a": 1, "c": null, "d": true}]'  #类似于list类型的json的str
print(json.loads(a))  # [{'a': 1, 'c': None, 'd': True}]
print(type(json.loads(a)))  # <class 'list'>

2. Json格式的字符串 python中的dict:用json.loads()

import json
a = '{"a": 1,"c": null, "d": true}'  # json格式的字符串
print(json.loads(a)) # {'a': 1, 'c': None, 'd': True} 
print(type(json.loads(a))) # <class 'dict'>

3. Python中标准的字典格式的字符串转python中的dict(None非json格式):用eval()

import json
a = '{"c": None, "d": True}'  # python中标准的字典格式的字符串
print(eval(a))  # {'c': None, 'd': True}
print(type(eval(a)))  # <class 'dict'>

4. Json格式的字符串,无法区分是Python标准形式的,还是Json格式的(即没有True/true/None/null),那么用以下两种方法解析都可以

import json
a = '{"c": "test", "d": "rrrr"}' 
print(eval(a))  # {'c': 'test', 'd': 'rrrr'}
print(json.loads(a))  # <class 'dict'>

四、Json解析

1.通过eval(), 或者json.loads()

2.由于requests自带json解析器,可以使用下述简便方法解析接口返回的类似于字典的json对象

print(r.json())

posted on 2019-12-14 16:01  水晶的晶  阅读(23)  评论(0)    收藏  举报