在我的代码中,我尝试从json文件中获取Income类型的对象列表
val fileJson = File(
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS),
"Income.json")
val strFileJson: String? = fileJson.readText()
val PreviousJsonObj: JSONObject = JSONObject(strFileJson)
val array: JSONArray = PreviousJsonObj.getJSONArray("Incomes")
val typeToken = object : TypeToken<List<Income>>() {}.type
IncomeArry = Gson().fromJson<List<Income>>(strFileJson, typeToken)
但是我得到的是com.google.gson.jsonSyntaxException:java.lang.IllegalStateException:应为BEGIN_ARRAY,但在第1行第2列路径$处为BEGIN_OBJECT
strFileJson中返回的值为"收入":[{"日期":" abc "," src ":"cfgb"、"amt":7890},{"日期":" yui ","源代码":" tyhv ","金额":6789}]
尝试使用gson的多个实现和多个类体系结构运行
1条答案
按热度按时间yb3bgrhw1#
您显示的JSON片段:
格式不正确,是否粘贴错误?需要用大括号括起来:
但这不会解决您的问题,因为两者都会给予您描述的错误。您正在尝试反序列化数组,因此您需要
1.将JSON更改为
1.或者创建一个 Package 器对象,类似于
并反序列化到其中。