无法读取从json文件传递给python的字符串(必须为整数)

时间:2019-01-15 20:06:43

标签: python json

我需要查看名称是否在json文件中。这是我的代码:

public class Varpop{
    // Variant 1: Map as argument
    public void MYBEAN(Map<String, String> procedureResult){
        System.out.println(procedureResult.get("param1"));
        System.out.println(procedureResult.get("param2"));
        //...
    }

    // Variant 2: Multiple arguments
    public void MYBEAN(String param1, String param2, String param3, String param4){
        System.out.println(param1);
        System.out.println(param2);
        //...
    }
}

我从第19行收到错误(如果我['name] == playerName:,则出现),提示 TypeError:字符串索引必须为整数

我的JSON文件就是

playerName = input("Player name: ")
data = json.loads('assets/players.json')

for i in data:
    print(i)
    if i['name'] == playerName:
        #game.game()

P.S。我看过无数试图寻找解决方案的帖子,但我在Python中使用JSON的经验不足。

很抱歉,如果这是重复的,那只是我找不到使我自己的代码正常工作的方法。 另外,英语不是我的母语,所以对我的语法错误感到抱歉。

1 个答案:

答案 0 :(得分:1)

执行此操作时:

for i in data:

与此相同:

for i in data.keys():

现在您看到变量i是字典的 key ,恰好是string。因此,您不能使用另一个字符串对其进行索引。但是,实际上,如果您已经知道您感兴趣的钥匙的名称,为什么还要遍历这些钥匙呢?您可以删除整个循环!我想您是想这样做:

if data['name'] == playerName: