您可以使用递归来解决无限嵌套的问题。使用Gson,将类似于以下代码片段(未经测试)。其他库也将提供与JsonElement相同的结构。
private JsonElement findElementsChildren(JsonElement element, String id) { if(element.isJsonObject()) { JsonObject jsonObject = element.getAsJsonObject(); if(id.equals(jsonObject.get("id").getAsString())) { return jsonObject.get("children"); } else { return findElementsChildren(element.get("children").getAsJsonArray(), id); } } else if(element.isJsonArray()) { JsonArray jsonArray = element.getAsJsonArray(); for (JsonElement childElement : jsonArray) { JsonElement result = findElementsChildren(childElement, id); if(result != null) { return result; } } } return null;}


