我正在连接到第三方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"
我认为没有其他方法可以做到这一点.我也尝试过其他方式,但是没有任何输出.