Java 如何访问嵌套JSON元素的值

Java 如何访问嵌套JSON元素的值,java,json,jsonobject,Java,Json,Jsonobject,我为我的问题找到了一些答案,但这在我的情况下不起作用 我有话要说 { "A":{ "B":{ "STATUS":"ok", "TYPE":"Unknown", "NAME":"UnchangedECN" } } } 如何获取Status Type和Name的值 这是我试过的 long A ; String STATUS = ""; String TYPE = ""; String NAME =

我为我的问题找到了一些答案,但这在我的情况下不起作用

我有话要说

{  
   "A":{  
      "B":{  
         "STATUS":"ok",
         "TYPE":"Unknown",
         "NAME":"UnchangedECN"
      }
   }
}
如何获取Status Type和Name的值

这是我试过的

long A ;
String STATUS = "";
String TYPE = "";
String NAME = "";

ObjectMapper mapper = new ObjectMapper();
JsonNode root = mapper.readTree(new File("BOM.json"));

// Get id
A = root.path("A").asLong();
System.out.println("A : " + A);

// Get Name
JsonNode nameNode = root.path("A");
if (nameNode.isMissingNode()) {
    // if "name" node is missing
} else {
    STATUS = nameNode.path("STATUS").asText();
    // missing node, just return empty string
    TYPE = nameNode.path("TYPE").asText();
    NAME = nameNode.path("NAME").asText();

    System.out.println("STATUS : " + STATUS);
    System.out.println("TYPE : " + TYPE);
    System.out.println("NAME : " + NAME);
}

您可以使用JSON库使其更易于处理。例如,使用
org.json
maven依赖项:

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20160212</version>
</dependency>
输出以下输出:

ok
Unknown
UnchangedECN
ok
Unknown
UnchangedECN