为了账号安全,请及时绑定邮箱和手机立即绑定

使用Java中的链接键获取嵌套的JSON值

使用Java中的链接键获取嵌套的JSON值

慕桂英3389331 2021-04-08 13:10:58
我有一个像下面这样的JSON对象。在Java中,是否可以使用链接键从一个get调用中获取嵌套值?例如:String fname = jsonObj.get("shipmentlocation.personName.first"){    "shipmentLocation": {        "personName": {            "first": “firstName”,            "generationalSuffix": "string",            "last": "string",            "middle": "string",            "preferredFirst": "string",            "prefix": "string",            "professionalSuffixes": [                "string"            ]        }    },    "trackingNumber": "string"}使用JSONObject类对我来说不起作用,所以我很好奇是否有替代方法可以执行此操作。谢谢!
查看完整描述

2 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

使用您提供的json,您需要经历几个层次。


String firstName = jsonObj.getJSONObject("shipmentLocation").getJSONObject("personName").getString("first");

请注意,如果您在json节点或其子节点中查找的任何字段都可能不存在,则上述内容可能会遇到一些空指针问题。在这种情况下,明智的做法是要么看一下java,要么Optional在每个步骤都使用null检查,如下所示:


String firstName = null;


JSONObject shipmentLocation = jsonObj.getJSONObject("shipmentLocation");

if (shipmentLocation != null) {

    JSONObject personName = shipmentLocation.getJSONObject("personName");

    if (personName != null) {

        firstName = personName.getString("first");

    }

}


if (firstName != null) {

    // do something with the first name

}


查看完整回答
反对 回复 2021-04-21
  • 2 回答
  • 0 关注
  • 204 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信