【发布时间】:2015-07-20 16:28:44
【问题描述】:
我在将 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();
【问题讨论】:
-
您确定您的 JsonObject 包含“start”和“id”,还是仅包含“id”,如第二个快照中的那样?
-
我得到一个日历的 ID,然后用那个 ID 获取日历数据。 “开始”出现在我从该日历收到的事件中,当我打印 JsonElement 时,它看起来像这样 {“dateTime”:“2015-09-10T12:05:00-04:00”}。我只是无法将其转换为字符串...