String propertiesJSON = obj.get("properties").toString(); Type listType = new TypeToken<ArrayList<Property>>() { }.getType(); List<Property> propertyList = GsonProvider.getGson().fromJson(propertiesJSON, listType); JsonObject properties = new JsonObject(); for (Property property : propertyList) { properties.addProperty(property.key, property.value); }