我需要查看名称是否在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的经验不足。
很抱歉,如果这是重复的,那只是我找不到使我自己的代码正常工作的方法。 另外,英语不是我的母语,所以对我的语法错误感到抱歉。
答案 0 :(得分:1)
执行此操作时:
for i in data:
与此相同:
for i in data.keys():
现在您看到变量i
是字典的 key ,恰好是string
。因此,您不能使用另一个字符串对其进行索引。但是,实际上,如果您已经知道您感兴趣的钥匙的名称,为什么还要遍历这些钥匙呢?您可以删除整个循环!我想您是想这样做:
if data['name'] == playerName: