python - 过滤嵌套数组 Python
问题描述
使用“json.dumps(response.json(), indent=4”后我有一个这样的输出数组
{
"totalCount": 8,
"hasMore": false,
"firstIndex": 0,
"list": [
{
"id": "7d5bb8asdfasdfasfdasdfasdfasdf",
"name": "Corporate",
"domainType": "AAAAAAAA",
"description": "",
"createdBy": "admin",
"createDatetime": "2020/06/04 17:40:22",
"parentDomainId": "8b208asdfasdfasdfasdfasdfas",
"zoneCount": 2,
"subDomainCount": 1,
"administratorCount": 0,
"apCount": 0,
"zeroTouchStatus": true
},
现在,当我尝试按如下方式过滤它时 print(results['name']) 或 print(results['list'][0]['name'])
我不断收到此错误消息:TypeError:字符串索引必须是整数
这以 dict {} 开头,然后这里有 dict {} 的列表 []。基于此,它应该可以工作。感谢任何指导。谢谢你。
解决方案
您发布的数据清楚地表明它仍然是文本格式的 JSON。使用转换为 python dictjson.loads()
result = json.loads(response.json())
print(results['name'])
print(results['list'][0]['name'])
推荐阅读
- javascript - 从派生(ES2019 私有类)访问基类的受保护字段
- python - 尝试同时抓取两个页面时出错 - Python,bs4
- vba - 多依赖组合框问题
- mysql - 匹配 IN 加入条件
- reporting-services - 在 VS 报表服务器项目中,我可以检索和保存参数值吗?
- ruby-on-rails - 在联合表上进行 Rails 验证
- r - FOR循环R的输出不足
- sql - SQL 10 天内有 2 个订单
- sql - Laravel Eloquent 根据数据透视表字段条件获取多对多关系
- angular - 在Angular 8中通过事件发射器通过值(而不是通过引用)传递对象