java - 使用 json simple 修改嵌套的 JSONObject
问题描述
尝试在另一个 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");
^
解决方案
JSONObjectgetJSONObject
类中没有调用方法,因此您必须使用显式类型转换。如果您想要更高级的方法,例如考虑使用和get()
getJSONObject
Gson
jackson
JSONObject PlayerTemp = (JSONObject) parser.parse(reader);
JSONObject temp = (JSONObject) PlayerTemp.getJSONObject("Player");
temp.put("Language", "German");
推荐阅读
- flutter - 在dailpad中填写号码需要添加权限吗
- php - 如何在laravel中将数组插入数据库而不会出错
- php - Yii2 SQLSTATE[IMSSP]:活动结果集中没有更多行
- r - 如何一起使用 lapply 和 ifelse 但在 R 中的 df 中保留原始值
- css - 如何使用css使子元素垂直位于父元素的中间?
- .net-core - 带有 Azure AD API 范围和 Graph 范围的访问令牌不在 Microsoft Graph 上进行身份验证
- cypress - 如何处理cypress中的测试失败
- reactjs - 如何在反应导航 5 中将图像添加到抽屉中?
- powershell - 更改 Powershell 表中第一行的文本颜色
- python - 如何找到重叠的intervalIndex pandas