小编典典

从JSON深入获取价值

java

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

这是我的示例:

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

我一直在尝试使用Gson,以便可以将此斑点作为JsonObject。我确定有一些简单的东西,像这样:

jsonObject.get("myDesiredInfo")

或至少是这样的:

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

但是它似乎不存在。

那么,有没有可以让我做到这一点的解析器?


阅读 261

收藏
2020-11-26

共1个答案

小编典典

这是我的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"

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

2020-11-26