{
"products": [
{
"barcode_number": "8000040000802",
"barcode_type": "EAN",
"barcode_formats": "EAN 8000040000802",
"mpn": "",
"model": "",
"asin": "",
"product_name": "Campari Bitter 25% Vol. 1 L",
"title": "",
"category": "Food, Beverages & Tobacco > Beverages > Alcoholic Beverages > Bitters",
"manufacturer": "Campari",
"brand": "Campari",
"label": "",
"author": "",
"publisher": "",
"artist": "",
"actor": "",
"director": "",
"studio": "",
"genre": "",
"audience_rating": "",
"ingredients": "",
"nutrition_facts": "",
"color": "",
"format": "",
"package_quantity": "",
"size": "",
"length": "",
"width": "",
"height": "",
"weight": "",
"release_date": "",
"description": "",
"features": [],
"images": [
"https://images.barcodelookup.com/19631/196313718-1.jpg"
],
"stores": [
{
"store_name": "Rakuten Deutschland GmbH",
"store_price": "16.50",
"product_url": "https://www.rakuten.de/produkt/campari-bitter-25-vol-1-l-1826679605",
"currency_code": "EUR",
"currency_symbol": "€"
}
],
"reviews": []
}
]
}
data class BaseResponse(
val products: List<Product>
)
data class Product(
val actor: String,
val artist: String,
val asin: String,
val audience_rating: String,
...
)
data class Store(
val currency_code: String,
val currency_symbol: String,
val product_url: String,
val store_name: String,
val store_price: String
)
interface BarcodeLookupApiService {
@GET("products")
suspend fun getArticleData(@Query("barcode") barcode: String,
@Query("key") key: String): List<BaseResponse>
}
改装建造者:
object RetrofitBuilder {
private const val BASE_URL = "https://api.barcodelookup.com/v2/"
private fun getRetrofit(): Retrofit {
return Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build()
}
val apiService: BarcodeLookupApiService =
getRetrofit().create(BarcodeLookupApiService::class.java)
}
插件创建的数据类不对吗?或者我的服务不应该返回列表?我尝试过返回一个简单的BaseResponse对象,但这也不起作用。
按如下所示更改界面:
interface BarcodeLookupApiService {
@GET("products")
suspend fun getArticleData(@Query("barcode") barcode: String,
@Query("key") key: String): BaseResponse
}
要获取产品列表,请执行以下操作:
baseRespose.ProductsList
这会解决你的问题。响应是在object内部有一个数组的对象。因此你会得到错误。
我如何使用改造来解析这个?我得到错误BEGIN_OBJECT但却是BEGIN_ARRAY 现在,我是这样分析的… 下面是adapter类 下面是接口RetroInterface.class 这是我在主要活动中的称呼 下面是json响应
我正在尝试使用改版在我的应用程序上实现用户注册,但是我一直得到这个错误不确定是什么错误,java.lang.IllegalStateException:应该是BEGIN_OBJECT,但应该是BEGIN_ARRAY 这是邮递员的回复 } 我有两个模型类User模型类 和我的register类 如果可能的话有人帮我实现Kotlin coroutines
我正在尝试使用改版在我的应用程序上实现登录,但是我一直得到这个错误不确定是什么错误,java.lang.IllegalStateException:应该是BEGIN_OBJECT,但应该是BEGIN_ARRAY 这是邮递员的回复 和我的登录类
日安, 我知道这个问题已经被问到了,我找到的另外两个话题在某一个点之前确实有所帮助。我有一个来自客户机的响应,但我无法控制,所以它的格式是我需要处理的。 Json包含来自多个用户的用户信息列表。这就是我使用列表而不是POJO的原因。问题如下。POJO返回时没有任何错误,但也没有任何值,并且只有一个值而不是多个值 来自postman的JASON响应如下所示(这就是我意识到它被检索的方式可能被视为对象
apiclient.kt:- } apiInterface.kt:- } myactivity.kt:-
首先,我从服务器获得了这个Json对象,然后使用reverfit lib显示曲目名称是列表。但其返回此问题应为BEGIN_ARRAY,但在COLOMUNS 1处为BEGIN_OBJECTS。 我正在使用这些类: 并且此跟踪类: