【问题标题】:Python Json Parse "must be integers"Python Json Parse“必须是整数”
【发布时间】:2021-03-16 16:39:52
【问题描述】:

我试图解析一个 json 并且它给出了错误:

Traceback (most recent call last):
  File "afip.py", line 13, in <module>
    print(int(item['usuario']['denominacio
TypeError: string indices must be integers

我的代码:

import urllib.request
import json
url = 'https://url.com/file.json'
req = urllib.request.Request(url)

##parsing response
r = urllib.request.urlopen(req).read()
cont = json.loads(r.decode('utf-8'))
counter = 0

##parcing json
for item in cont['usuario']:
    print(item['usuario']['denominacion'])

我的 json:

{"result":"success","usuario":{"nro_evento":2960505,"nro_secuencia_contacto":1,"Tipo_contacto":{"Cod_contacto":1,"Descripcion":null,"Visible":null,"Representante":0},"cuil":0000000000,"tipo_doc":0,"Tipo_doc_desc":null,"nro_doc":"0000000000","denominacion":"CAMARGO MAURO NAHUEL","telefono":0,"celular":0,"proveedor_celular":0,"mail":"","cod_area_tel":"","cod_area_cel":"","HabilitadoImpuestos":true}}

【问题讨论】:

  • 您显示的错误与您显示的代码不匹配。

标签: python json string


【解决方案1】:

为什么需要循环? 就这样就可以了。 Python 让一切变得简单

print(cont['usuario']['denominacion'])

【讨论】:

    【解决方案2】:
    for item in cont['usuario']:
    

    item 是cont['usuario'] 中的键。(它们都是你的json 中的字符串)。

    所以如果你想得到"denominacion": 你可以使用:

    print(cont['usuario']["denominacion"])
    

    【讨论】:

    • @KatiaSisHost,如果这解决了您的问题,请单击答案左侧的复选框以标记您的问题已解决。
    猜你喜欢
    • 2013-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 2018-04-03
    • 1970-01-01
    相关资源
    最近更新 更多