微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JSONObject 有嵌套键

如何解决JSONObject 有嵌套键

我想读取一个 json 配置文件并在特定值存在时执行代码

{
    "database": {
        "port": 3306
    }
}

我使用 maven central 中的 org.json

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")

这工作得很好,但我有更多的嵌套值,它变得很混乱。

是否有更好的方法获取内容而不是两次写入路径(JSONObject#has(...) 为 1x,JSONObject#getInt(...) 为 1x)

解决方法

正如rupps所说,org.json不支持嵌套路径。我升级到支持更高级解析的 gson。 JsonPath 看起来不错,但对于我的要求来说似乎有点矫枉过正。

,

抱歉,org.json 不支持嵌套解析。不过你可以试试把json转成bean,会容易很多

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。