我在将JsonElement转换为字符串时遇到麻烦。我正在使用getAsString()方法调用,但我一直收到不支持的操作异常。我检查了我正在调用的get的输出,这似乎是正确的。
这是我的代码,不好意思的命名约定:
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();
最佳答案
item.get("start")
是否有可能是JsonNull
?
首先检查:
item.get("start").isJsonNull() ? "" : item.get("start").getAsString();