我正在连接到第三方API,并获取了很长的JSON字符串。我只需要一个值,但是它位于层次结构的深处。有没有一种简单的方法就可以完成整个过程?我环顾四周,但似乎没有轻松的事情。
这是我的示例:
"response":{"status":1,"httpStatus":200,"data":{"myDesiredInfo":"someInfo"},"errors":[],"errorMessage":null}}
我一直在尝试使用Gson,以便可以将此斑点作为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"
我认为没有其他方法可以做到这一点。我也尝试过其他方式,但没有任何输出。