小结:
python、json都是大类,其中有子类。不规则的字符串(字符串中夹杂有字典),先对字符串用正则提取出字典格式的json,然后loads解码成python类中的字典,再然后对 python的字典操作。json中单个元素 "key" : "value" ,元素间逗号隔开,花括号{ }内表面是一个json对象。{ }可内嵌在数组[ ],json{ }对象中。
操作json对象,先将json对象loads()解码,然后对python对象操作。例子中解码为dict,然后对dict操作
字典嵌套,要得字典中嵌套的键或值,要逐层深入获取
----------------------------------------------------------------------------------------------------------------------------------
import json
data = {
'no' : {'name':'hanmeimei','school':'unver'},
'name' : 'Runoob',
'url' : 'http://www.runoob.com'
}
json_str = json.dumps(data) #dumps编码python类为json类
##################################
python_str = json.loads(json_str) #解码为python对象
data_keys = python_str.keys() #keys() ,字典中key ,类型<class 'dict_keys'>
print(data_keys) #输出dict_keys(['url', 'no', 'name'])
assert 'no' in data_keys,'不存在'
print(type(data['no'])) #输出<class 'dict'>
print(data['no']['name']) #输出hanmeimei
print(data['name']) #输出Runoob