【发布时间】:2015-04-07 16:14:00
【问题描述】:
我正在尝试从此链接解析 JSON:https://api.guildwars2.com/v2/items/56,一切都很好,直到我遇到这条线:"infix_upgrade":{"attributes":[{"attribute":"Power","modifier":4},{"attribute":"Precision","modifier":3}]} ...
如果我没有弄错:infix_upgrade在他里面有 1 个元素 attributes。 attributes 有 2 个元素,其中还有 2 个元素。这是二维数组吗?
我已经尝试过(代码太长,无法发布):
JsonObject _detailsObject = _rootObject.get("details").getAsJsonObject();
JsonObject infix_upgradeObject = _detailsObject.get("infix_upgrade").getAsJsonObject();
JsonElement _infix_upgrade_attributesElement = infix_upgradeObject.get("attributes");
JsonArray _infix_upgrade_attributesJsonArray = _infix_upgrade_attributesElement.getAsJsonArray();
问题是我不知道接下来要做什么,还尝试像这样继续将JsonArray转换为字符串数组:
Type _listType = new TypeToken<List<String>>() {}.getType();
List<String> _details_infusion_slotsStringArray = new Gson().fromJson(_infix_upgrade_attributesJsonArray, _listType);
但我得到了java.lang.IllegalStateException: Expected STRING but was BEGIN_OBJECT,我猜这来自属性......
【问题讨论】:
标签: java json jsp jakarta-ee gson