我有一个带有根数组的JSON资产:
[
{
"word": "word",
"label": "label"
},
{
"word": "word2",
"label": "label2"
}
]我正试着用Klaxon解析它。
到目前为止,我已经尝试了几种方法:
val wordDict = Klaxon().parse<List<DictWord>>( activity.assets.open("dict.json") )
val wordDict = Klaxon().parse<Array<DictWord>>( activity.assets.open("dict.json") )
val wordDict = Klaxon().parse<JsonArray<DictWord>>( activity.assets.open("dict.json") )它要么导致空列表,要么导致异常:
java.lang.ClassCastException:不能将com.beust.klaxon.JsonArray转换为com.beust.klaxon.JsonObject
我做错了什么?
发布于 2018-03-03 22:21:09
在Klaxon的GitHub发行板上找到答案:https://github.com/cbeust/klaxon/issues/87
数组解析是通过parseArray()完成的,因此修正如下:
val wordDict = Klaxon().parseArray<DictWord>( activity.assets.open("dict.json") )值得一提的是,仅通过流API支持数组解析,而不支持对象映射API。因此,我们仅限于提供InputStream或String作为参数。
https://stackoverflow.com/questions/49089859
复制相似问题