繁体   English   中英

Android Kotlin + Klaxon - 解析JSON根数组

[英]Android Kotlin + Klaxon - Parsing a JSON root array

我有一个带有根数组的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

我究竟做错了什么?

在Klaxon的GitHub问题板上找到答案: https//github.com/cbeust/klaxon/issues/87

数组解析是通过parseArray() ,所以修复是:

val wordDict = Klaxon().parseArray<DictWord>( activity.assets.open("dict.json") )

值得一提的是,数组解析仅通过流API支持,而不是对象映射API。 因此,我们仅限于提供InputStreamString作为参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM