public SearchResult deserialize( JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { JsonObject jsonObj = json.getAsJsonObject(); String query = jsonObj.get(QUERY_TAG).getAsString(); // Unused. // int numResults = jsonObj.get(NUM_RESULTS_TAG).getAsInt(); SearchResult result = new SearchResult(query); JsonArray digestsArray = jsonObj.get(DIGESTS_TAG).getAsJsonArray(); for (JsonElement e : digestsArray) { Digest digest = context.deserialize(e, Digest.class); result.addDigest(digest); } return result; }