在python
中,有json
模块可以把json字符串转换成Python对应的数据结构
先看一个JSON
字符串,在JavaScript
中,它是一个JSON object
import json
json_str = '{"name":"guo","age":18}'
s = json.loads(json_str)
print(type(s))
print(s)
-------------------------------------
输出:
<class 'dict'>
{'name': 'guo', 'age': 18}
在python
中,loads
函数将JSON
字符串转换成了字典类型。
所以要得到name
的值可以这样写s['name']
。
注:#
json
字符串中的key
和value
要加上双引号
,但是value
是数字
或者布尔值
的话就不需要给value
加上双引号了。
还有JSON array
的形式
import json
# 有两个json对象的一个数组
json_arr = '[{"name":"guo","age":17,"flag":true},{"name":"guo","age":18}]'
d = json.loads(json_arr)
print(type(d))
print(d)
---------------------------------------------
输出:
<class 'list'>
[{'name': 'guo', 'age': 17, 'flag': True}, {'name': 'guo', 'age': 18}]
这时候就转换成列表类型了,但是里面还是字典类型。拿到列表中第一个name
的值可以这样写:d[0]['name']
。
注
:在Python中,JSON
字符串中的布尔值true
被转换成了True
再注
:不同的语言会把json
字符串转换成不同的数据类型。