Java JSONObject具有嵌套键
如果存在特定值,我想读取json配置文件并执行代码Java JSONObject具有嵌套键,java,json,org.json,Java,Json,Org.json,如果存在特定值,我想读取json配置文件并执行代码 { "database": { "port": 3306 } } 我用的是maven central的 if (jsonObject.has("database.port")) { // Get content of "database.port" and call logic } 默认情况下,database.port不
{
"database": {
"port": 3306
}
}
我用的是maven central的
if (jsonObject.has("database.port")) {
// Get content of "database.port" and call logic
}
默认情况下,database.port不会被识别为嵌套路径。如何告诉org.json这是一个嵌套路径
if (jsonObject.has("database") && jsonObject.getJSONObject("database").has("port")
这很好,但我有更多的嵌套值,它变得非常混乱
有没有更好的方法来获取内容,而不是两次写入路径(1次用于JSONObject has(…),1次用于JSONObject getInt(…)正如rupps所说,org.json不支持嵌套路径。我升级到gson,它支持更高级的解析。看起来不错,但对于我的需求来说似乎有点过分了。对不起,org.json不支持嵌套解析。但是您可以尝试将JSON转换为bean,这将更容易JSONObject d=JSONObject.get(“数据库”);字符串端口=d.getString(“端口”)@rupps然后我必须使用
if(jsonObject.has(“数据库”)&&jsonObject.getJSONObject(“数据库”).has(“端口”)
,这非常不方便(特别是如果我有更多的嵌套值)。您使用的json库是最基本的,并且不包括嵌套路径的nethods。您可以使用