类型错误:在 Python 中过滤 JSON 中的值时,字符串索引必须是整数

佩迪
x = { "people": [{ "owner": "bob", "petname": "fido", "species": "dog", "size": "chunky"}, {"owner": "mary","petname": "marvin","species": "cat","size": "cat"}]}
    y = json.dumps(x)
    z = json.loads(y)
    for i in z:
        if i["owner"] == "bob":
            print(i['petname'])
            break

此代码的目标是在提供所有者姓名的同时返回宠物名称。例如,通过赋予所有者名称“bob”来输出“fido”

但是我得到的只是TypeError: string indices must be integers. 我究竟做错了什么?谢谢

圣洁零

您正在迭代基础dictionary而不是迭代listpeople

迭代z["people"]其中包含一个list,而不是迭代z
解决方案

x = { "people": [{ "owner": "bob", "petname": "fido", "species": "dog", "size": "chunky"}, {"owner": "mary","petname": "marvin","species": "cat","size": "cat"}]}
    y = json.dumps(x)
    z = json.loads(y)
    for i in z["people"]:
        if i["owner"] == "bob":
            print(i['petname'])
            break

另外,我认为没有必要使用

y = json.dumps(x)
z = json.loads(y)

您可以简单地使用基本字典 x

for i in x["people"]:
    if i["owner"] == "bob":
       print(i['petname'])
       break

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TypeError:使用Python解析JSON时,字符串索引必须是整数?

解析JSON时,字符串索引必须为整数-python

TypeError:使用Python解析Json时,字符串索引必须是整数错误

处理使用'http'下载的JSON时发生错误-TypeError:字符串索引必须为整数

获取TypeError:Python中的字符串索引必须是整数

Python:JSON规范化“字符串索引必须为整数”错误

无法访问JSON输出中的键:字符串索引必须为整数

字符串索引必须是整数json python

Python引发错误-字符串索引必须是整数

python pandas - 解析 JSON 时出现类型错误:字符串索引必须是整数

类型错误:字符串索引必须是整数,而不是带有 JSON 解析的 str

类型错误:字符串索引必须是整数(Python)

Robot Framework - 类型错误:解析 Json 时字符串索引必须是整数

类型错误:字符串索引必须是带 JSON 的整数

类型错误:尝试访问字典中的值时,字符串索引必须是整数

如何修复 Python 中的“TypeError:字符串索引必须是整数”错误

字符串索引必须是整数 - 从 Python 中的 REST API 获取 JSON 响应

Flask 中的“类型错误:字符串索引必须是整数”

类型错误:字符串索引必须是复杂的 json 数组中的整数

类型错误:处理 json 文件时字符串索引必须是整数

字符串索引在python中必须是整数

在python中过滤JSON

类型错误:json.loads() 之后的字符串索引必须是整数

Python - 读取 JSON - TypeError:字符串索引必须是整数

Python 错误字符串索引必须是整数

JSON 注释错误“字符串索引必须是整数”

解析 JSON 时出现“字符串索引必须是整数”错误

类型错误:字符串索引必须是整数;如何在我的代码中解决这个问题?

在 Python 中访问嵌套字典中的值 - 字符串索引必须是整数