从深层JSON获取值

我正在连接到第三方API,并获取了很长的JSON字符串.我只需要一个值,但是它位于层次结构的深处.有没有一种简单的方法就可以完成整个过程?我环顾四周,但似乎没有轻松的事情.

这是我的示例:

"response":{"status":1,"httpStatus":200,"data":{"myDesiredInfo":"someInfo"},"errors":[],"errorMessage":null}}

我一直在尝试使用Gson,因此我可以将此Blob作为JsonObject获得.我确定有一些简单的东西,像这样:

jsonObject.get("myDesiredInfo") 

或至少是这样的:

jsonObject.get("response.data.myDesiredInfo") 

但是它似乎不存在.

那么,有没有可以让我执行此操作的解析器?

解决方法:

这是我的json字符串

String s="{"age":0,"name":"name","email":"emailk","address":{"housename":"villa"}}";

我使用以下代码获取房屋名称

    JsonElement je = new JsonParser().parse(s);
    JsonObject asJsonObject = je.getAsJsonObject();
    JsonElement get = asJsonObject.get("address");
    System.out.println(s + "\n" + get);
    JsonObject asJsonObject1 = get.getAsJsonObject();
    JsonElement get1 = asJsonObject1.get("housename");
    System.out.println(get1);

以下是我的输出:

{"age":0,"name":"name","email":"emailk","address":{"housename":"villa"}}
{"housename":"villa"}
"villa"

我认为没有其他方法可以做到这一点.我也尝试过其他方式,但是没有任何输出.

上一篇:java-使用GSON解析没有特定结构的JSON字段


下一篇:Java:在Applet中使用Gson会导致SecurityException