Vai*_*den 4 arrays android json kotlin klaxon
我有一个带有根数组的JSON资产:
[
{
"word": "word",
"label": "label"
},
{
"word": "word2",
"label": "label2"
}
]
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用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") )
Run Code Online (Sandbox Code Playgroud)
导致空列表或异常:
java.lang.ClassCastException:com.beust.klaxon.JsonArray无法转换为com.beust.klaxon.JsonObject
我究竟做错了什么?
在Klaxon的GitHub问题板上找到了答案:https : //github.com/cbeust/klaxon/issues/87
数组解析是通过完成的parseArray()
,因此解决方法是:
val wordDict = Klaxon().parseArray<DictWord>( activity.assets.open("dict.json") )
Run Code Online (Sandbox Code Playgroud)
值得一提的是,仅通过流API支持数组解析,而不支持对象映射API。因此,我们仅限于提供an InputStream
或a String
作为参数。
归档时间: |
|
查看次数: |
2433 次 |
最近记录: |