尝试在另一个 JSONbject 抛出中修改 JSONObject 的值找不到方法 getJSONObject 的符号错误...
我不能使用 getJSONObject 方法,对我来说的解决方法是:
JSONObject Player = (JSONObject) PlayerTemp.get("Player");
Player.put("Language", "German");
但是,以下方法不起作用:
JSONObject Player = PlayerTemp.getJSONObject("Player");
这是我的整个代码示例,我尝试修改嵌套在另一个 JSONObject 中的 JSONObject 中的值:
JSONParser parser = new JSONParser();
try (Reader reader = new FileReader("../resources/PlayerTemp.json")) {
JSONObject PlayerTemp = (JSONObject) parser.parse(reader);
PlayerTemp.getJSONObject("Player").put("Language", "German");
System.out.println(PlayerTemp.get("Player").toString());
} catch (IOException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
}
}
}
error: cannot find symbol
PlayerTemp.getJSONObject("Player").put("Language", "German");
^
JSONObject 类中没有称为 getJSONObject
的方法,因此您必须将get()
与显式类型转换一起使用。如果您想要更高级的方法,例如getJSONObject
请考虑使用Gson
和jackson
JSONObject PlayerTemp = (JSONObject) parser.parse(reader);
JSONObject temp = (JSONObject) PlayerTemp.getJSONObject("Player");
temp.put("Language", "German");