У меня возникли проблемы с преобразованием JsonElement в строку. Я использую вызов метода getAsString(), но я продолжаю получать исключение из несобственной операции. Я проверил вывод get, который я вызываю, и кажется правильным.GSON JsonElement to String
Вот мой код, К сожалению для бедных соглашения об именовании:
JsonParser jp2 = new JsonParser();
JsonObject root2 = jp2.parse(getAllEventsResults.get_Response()).getAsJsonObject();
JsonArray items2 = root2.get("items").getAsJsonArray();
for(int i=0; i<items2.size(); i++){
JsonObject item = items2.get(i).getAsJsonObject();
System.out.println(item.get("start").getAsString());}
Самая странная часть этого является то, что я делаю то же точную вещь в выше с этим кодом:
JsonParser jp = new JsonParser();
JsonObject root = jp.parse(getAllCalendarsResults.get_Response()).getAsJsonObject();
JsonArray items = root.get("items").getAsJsonArray();
JsonObject firstItem = items.get(0).getAsJsonObject();
String firstCalId = firstItem.get("id").getAsString();
вы уверены, что ваш JSONObject содержит как «начало» и «идентификатор», или просто «идентификатор», как во втором снимке? – kiruwka
Я получаю идентификатор для календаря, затем беру данные календаря с этим идентификатором. «start» находится в событиях, которые я получаю из этого календаря, когда я печатаю JsonElement, он выглядит так {«dateTime»: «2015-09-10T12: 05: 00-04: 00»}. Я просто не могу его преобразовать в строку ... – tallaghi