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

应为BEGIN\u数组,但为BEGIN\u对象kotlin[重复]

拓拔泉
2023-03-14

我有这样的json。在我的情况下,当我单击一个产品时,我会将该产品交给detailproduct。在那之后,我在我的详细信息屏幕中有了回收器。我想按产品数组获取回收商项目,该数组的id等于单击的产品id。

"id": 10,
  "published_at": "2021-05-07T14:54:35.496Z",
  "created_at": "2021-05-07T14:54:30.656Z",
  "updated_at": "2021-05-07T14:54:35.561Z",
  "products": []

我想了解产品阵列。我的api方法正在返回调用

private fun fetchRelatedProduct() {
    api.relatedProducts(args.productId).enqueue(object  : Callback<List<Product>>{
        override fun onResponse(call: Call<List<Product>>, response: Response<List<Product>>) {
            when (response.code()) {
                200 -> onRelatedSuccess(response.body()!!)
                401 -> onRelatedFail()
                else -> onUnexpectedError()
            }
        }

        override fun onFailure(call: Call<List<Product>>, t: Throwable) {
            Snackbar.make(
                binding.root, R.string.check_your_connection,
                Snackbar.LENGTH_LONG
            ).show()
            Log.i("sadd",t.toString())
        }

    })
           }

共有1个答案

敖子安
2023-03-14

您需要一个产品列表,但您拥有的是一个包装器,其中包含一个产品列表:

data class WrapperProducts(
    val id: Long,
    ...
    val products: List<Product>
)

然后改变你的回拨

api...enqueue(object  : Callback<WrapperProducts>{

错误是,您需要一个数组,但得到了一个对象,因为JSON是一个对象,如果它是一个数组,则如下所示

[
    {...}, //product 1
    {...}, //and so on
]

如果您注意到上面的示例没有其他属性,例如id

 类似资料:
  • 这是我的JSON数据: 这是我的反序列化代码: 我在PageSecurity上收到错误。这是我的PageResponce类。我想我可能处理信息是正确的。我只使用过JsonObject。我想知道如何获取“page”: 0,然后如何获取“线程” } 我的页面类 公共类页面{ }

  • 我有下面的JSON和模型类,如何使用GSOn反序列化这个JSON,下面的代码片段会出现类似“预期的BEGIN\u对象,但是BEGIN\u数组”的异常。如何为下面的JSON数据生成模型CALS

  • 我从以下改装服务中获得了一个json结果: 我在改装后变得像bellow一样: 但是告诉我: 下面是我的模型:

  • 我正在尝试使用《纽约时报》API,并使用Observable进行改装。但我在尝试使用数据时遇到了这个错误。 有人能帮我看看哪里错了吗? 以下是我的ApiServices界面: 这是我的ApiStreams课 这就是我在我的主要活动中要做的。现在我只想在文本视图中显示每个标题的列表。。。 [编辑]TopStories和NewsItem有我的两个模型 上部结构: 新闻项目: 以下是JSON的外观: J

  • 我找到了一些解决方案,但我真的不知道如何开始。 这是我的密码。 接口 主要活动

  • 预期BEGIN_OBJECT但BEGIN_ARRAY使用GSON解析JSON。我收到错误,这是由于Gson Json实现Json Format的类定义需要使用GSON解析而发生的 用于使用gson进行分析的类: 使用gson解析json的代码:需要解析 "值":"19","值":"19","值":"77","值":"4" 内部数据数组[]。