我需要搜索存储在json中的匹配对;当用户在文本字段中输入一些键文本并从组合框中选择值时;
我已经尝试过,但是它仅对单对返回true,对其他所有对返回false;即使是简单的print语句也可以完美地存储在json中的所有配对,但是搜索特定匹配项不起作用
这是javafx代码的片段:
Map<String, String> Relationships= returnRelationships();
Relationships.forEach((key,value)->{comboBox.setOnAction(event2->
{
if(key.equals(txtField.getText())&&value.equals(comboBox.getSelectionModel().getSelectedItem()));
System.out.println("Match Found");
else
System.out.println("No-Match Found");
});
});
returnRelationships()的代码基本上从json文件中获取数据:
static Map<String,String> mapRelations = new HashMap<>();
static Map.Entry pairRelation=null;
public static Map<String, String> returnRelationships() throws FileNotFoundException, IOException, ParseException
{
Object obj = new JSONParser().parse(new FileReader(FILE_NAME4));
JSONObject jsonObject = (JSONObject) obj;
Map map = ((Map) jsonObject.get("Products"));
Iterator<Map.Entry> itr = map.entrySet().iterator();
while (itr.hasNext())
{
pairRelation= itr.next();
mapRelations.put(pairRelation.getKey().toString(),pairRelation.getValue().toString());
}
return mapRelations;
}
json条目为:
{"Products": {"p10":"SamsungS5","i6":"Iphone6","i6s":"Iphone6S","ix":"Iphonex"}
}
只要文本字段和组合框中的任何一对匹配,我都需要它返回“找到匹配项”