Json'list'对象没有'get'属性

2024-06-02 06:10:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个这样的json列表:

{
  "usuarios": [
 {
  "id": 1,
  "nome": "vitor",
  "email": "vitor@"
   }
  ]
}

我试着用Python列出这些项目,如下所示:

#!/usr/bin/python

import requests
import json
import sys

def list_users():
   response = json.loads(requests.get("http://127.0.0.1:3000/usuarios/")._content)    
   for r in response.get("usuarios"):
       print r["id"],r["nome"],r['email']

if __name__ == '__main__':
    list_users()

当我运行时,出现以下错误:

   python rest_cli.py 
   Traceback (most recent call last):
   File "rest_cli.py", line 62, in <module>
   listar_usuarios()
   File "rest_cli.py", line 10, in listar_usuarios
   for r in response.get("usuarios"):
   AttributeError: 'list' object has no attribute 'get'

我怎样才能修好它?


Tags: inpyimportrestidjsongetcli
2条回答

下面代码中的URL已经给了您一个数组response

response = json.loads(requests.get("http://127.0.0.1:3000/usuarios/")._content)

不要对response执行get。只需使用一个简单的for loop就可以了,比如:

for r in response:
       print r["id"],r["nome"],r['email']

这是一个名称空间问题,因为您正在从我相信的请求导入所有内容。删除。获取并仅使用请求。 请求(“http://127.0.0.1:3000/usuarios/”)。\u内容

相关问题 更多 >