当前位置: 首页 > 知识库问答 >
问题:

应为BEGIN_ARRAY,但为字符串,但JSON是正确的

陈高寒
2023-03-14

我已经搜索了其他相关的问题,但找不到我的答案。

这是我的JSON:namedappointments.json

   [
  {
    "title": "Primary Care",
    "text": "Schedule a Primary Care appointment online.",
    "image": "http://i.imgur.com/DvpvklR.png"
  },
  {
    "title": "Primary Care",
    "text": "Schedule a Primary Care appointment online.",
    "image": "http://i.imgur.com/DvpvklR.png"
  },
  {
    "title": "Primary Care",
    "text": "Schedule a Primary Care appointment online.",
    "image": "http://i.imgur.com/DvpvklR.png"
  },
  {
    "title": "Primary Care",
    "text": "Schedule a Primary Care appointment online.",
    "image": "http://i.imgur.com/DvpvklR.png"
  }
]
    @Parcelize
data class AppointmentsListItem(
        @Expose
        @SerializedName("title")
        val title: String = "",
        @Expose
        @SerializedName("text")
        val text: String = "",
        @Expose
        @SerializedName("image")
        val image: String = "") : IAppointmentsListItem
val gson = GsonBuilder().excludeFieldsWithoutExposeAnnotation()
        .create()

private val listType = object : TypeToken<List<AppointmentsListItem>>() {}.type

    val apiList: List<AppointmentsListItem> = gson.fromJson("appointments.json", listType)

共有1个答案

司空朝
2023-03-14

绳子到底是从哪里来的?

“appointments.json”是一个字符串。此外,“appointments.JSON”不是有效的JSON字符串,因为它以a开头,而不是[{

我的猜测是appointments.json应该是一个文件名。然而,Gson并不知道这一点,一个裸露的文件名是没有用的。您需要在JSON本身上为Gson提供inputstreamreader,无论它来自哪里,例如:

  • FileReader(在这里提供一个文件,该文件指向appoinments.json所在的位置)
  • ContentResolverOpenInputStream()中的
  • InputStream
  • InputStreamAssetManagerOpen()
 类似资料:
  • 模型类 } >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

  • 我试图使用从API返回的retfit和GSON解析字符串数组: 这是在特定情况下(情况2)响应的样子: 在本例(情况2)中,我从registfit/gson得到一个错误: 我这样调用API:

  • 我想对我的数组使用。 提前致谢

  • 问题内容: 我在解析json数据时遇到此错误: 我找不到解决方案。我的json数据是: 我将图像转换为字节数组,如下所示: 我正在将图标从字节数组转换为Bitmap,如下所示: 我反序列化JSON响应的代码: 这是我的ProjectContainer类: 这是Project类: 如果您能帮助我解决这个问题,我将不胜感激。提前致谢 问题答案: 当您尝试解析该字段时会引发Exception ,因为在J

  • 问题内容: 我在解析JSON数据时遇到以下错误: 预期为begin_array,但在第1行第34列处为STRING 我找不到解决办法。我的JSON是以下内容: 这是我的PersonContent类: 以下是人员类别: 这是我反序列化前面提到的JSON数据的代码 我尝试了在这里找到的所有解决方案,但找不到相同的JSON。 问题答案: 错误出现在您收到的json中:您的类需要一个数组,因为 但是然后在