本文主要是介绍python解析json文件回顾(load/loads),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
example.json文件如下
{"page": "user","uri": "/userinfo","elements": [{"var_name": "username","description": "登录用户名"},{"var_name": "password","description": "登录密码"}],"data": {"userlist": [{"username": "张三","password": "******"},{"username": "李四","password": "******"}],"total": 2}
}
读取json文件(解析json文件)
with open('example.json', 'r') as jsonfile:json_string = json.load(jsonfile)
解释:
json.load是decode的一种方式,即将json文件中的数据类型解析成python的数据类型,数据类型解析前后的规则如下表:
即json文件(object)解析成了一个大字典(dict),字典中嵌套了list/unicode/boolean/None/dict等数据类型.
- 其他说明:
json.load是解析json文件的;json.loads是解析json字符串的,如果直接解析接口的返回诗句,直接用json.loads就好
选择元素
- 按键值选择:
>>> json_string['page']
user
- 根据上面的分析,elements是json的array,会被解析成python的list:
>>> for element in json_string['elements']:print element{'description': '登录用户名', 'var_name': 'username'}
{'description': '登录密码', 'var_name': 'password'}
即每一个element都是一个dict,json_string['elements']
是一个列表(list),列表中每个元素都是字典,选择列表中的元素的时候,就要用for循环来遍历了。
- data是json文件中嵌套的json字符串,即也是一个json object,会被解析成python的字典:
>>> json_string['data']
{'userlist': [{'username': '张三', 'password': '******'}, {'username': '李四', 'password': '******'}], 'total': 2}
即json_string['data']
也是一个字典,json_string['data']['userlist']
就可以选择出userlist这个数组了:
>>> json_string['data']['userlist']
[{'username': '张三', 'password': '******'}, {'username': '李四', 'password': '******'}]
>>> json_string['data']['total']
2
Reference
https://docs.python.org/2/library/json.html#basic-usage
这篇关于python解析json文件回顾(load/loads)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!