前言:
现在看官们对“pythonjsonlist”大体比较关注,大家都需要知道一些“pythonjsonlist”的相关内容。那么小编也在网上汇集了一些关于“pythonjsonlist””的相关内容,希望朋友们能喜欢,兄弟们一起来学习一下吧!1. json.loads()
把JSON格式字符串解码转成Python对象,从JSON到Python类型转换表如下:
JSON
Python
object
dict
array
list
string
str
number(int)
int
number(real)
float
true
True
false
False
null
None
将数组转成列表对象
import jsonstrList = "[1,2,3,3,4]"print(json.loads(strList))print(type(json.loads(strList)))
试着运行上面的代码,你会发现已经成功地将strList转换为列表对象。
将对象转换成字典
import jsonstrDict = '{"city":"上海","name":"jack","age":18}'print(json.loads(strDict))print(type(json.loads(strDict)))
试着运行上面的代码,你会发现已经成功地将object转换为dict类型的数据。
2. json.dumps()
其实这个方法也很好理解,就是将Python类型的对象转换为json字符串。从Python类型向JSON类型转换的对照表如下:
python
JSON
dict
object
list, tuple
array
str
string
int, float
number
True
true
False
false
None
null
将Python列表对象转换为JSON字符串
import jsonlist_str = [1,2,3,6,5]print(json.dumps(list_str))print(type(json.dumps(list_str)))
试着运行上面的代码,你会发现成功地将列表类型转换成了字符串类型。
将Python元组对象转换为JSON字符串
import jsontuple_str = (1,2,3,6,5)print(json.dumps(tuple_str))print(type(json.dumps(tuple_str)))
试着运行上面的代码,你会发现成功地将元组类型的数据转换成了字符串。
将Python字典对象转换为JSON字符串
import json dict_str = {"name": "小明", "age":18, "city": "中国深圳"}print(json.dumps(dict_str))print(type(json.dumps(dict_str)))
输出结果:
{"name": "\u5c0f\u660e", "age": 18, "city": "\u4e2d\u56fd\u6df1\u5733"}<class 'str'>
看到上面的输出结果也许你会有点疑惑,其实不需要疑惑,这是ASCII编码方式造成的,因为json.dumps()做序列化操作时默认使用的就是ASCII编码,因此我们可以这样写:
import jsondict_str = {"name": "小明", "age":18, "city": "中国深圳"}print(json.dumps(dict_str, ensure_ascii=False))print(type(json.dumps(dict_str)))
输出结果:
{"name": "小明", "age": 18, "city": "中国深圳"}<class 'str'>
因为ensure_ascii的默认值是True,因此我们可以添加参数ensure_ascii将它的默认值改成False,这样编码方式就会更改为utf-8了。
3. json.load()
该方法的主要作用是将文件中JSON形式的字符串转换为Python类型。
具体代码示例如下:
import jsonstr_list = json.load(open('position.json', encoding='utf-8'))print(str_dict)print(type(str_dict))
运行上面的代码,你会发现成功地将字符串类型的JSON数据转换为了dict类型。
代码中的文件position.json和程序在一个目录内即可。
4. json.dump()
将Python内置类型序列化为JSON对象后写入文件。具体代码示例如下所示:
import jsonlist_str = [{'city':'深圳'}, {'name': '小明'},{'age':18}]dict_str = {'city':'深圳','name':'小明','age':18}json.dump(list_str, open('listStr.json', 'w'), ensure_ascii=False)json.dump(list_str, open('dictStr.json', 'w'), ensure_ascii=False)
标签: #pythonjsonlist