无法从START_OBJECT令牌Vert.x中反序列化java.util.ArrayList `的实例]

问题描述 投票:0回答:1

我正在使用KotlinVert.x,我有:

data class Product(
    var id: UUID? = UUID.randomUUID(),
    var name: String? = null,

    @JsonFormat(shape=JsonFormat.Shape.ARRAY)
    var pictures: JsonArray? = JsonArray()
)

并且我正在尝试在Array中发布对象的pictures。我在请求正文中的JSON是这样的:

{
    "name": "Test",
    "pictures": [{"test": "a"}]
}

当我像上面一样在Object内发送Array时,收到此错误:

[ERROR] 2020-01-02 13:04:26.519 [vert.x-eventloop-thread-0] Route - io.vertx.core.json.DecodeException: Failed to decode:Cannot deserialize instance of `java.util.ArrayList<java.lang.Object>` out of START_OBJECT token
 at [Source: (String)"{
        "name": "Test",
        "pictures": [{"test": "a"}]
}
"; line: 8, column: 15] (through reference chain: br.com.test.api.product.Product["pictures"]->io.vertx.core.json.JsonArray["list"])

但是如果我像这样发送一个空的Array,它的工作原理就是:

{
        "name": "Test",
        "pictures": []
}

并且我收到正确的答复:

{"id":"a6d2d319-42a9-4d4a-b16a-6bf4eb76e36d","name":"Test","pictures":[]}

所以问题是,如何在客户中发布ArrayObjects?谢谢!

我正在使用Kotlin和Vert.x,并且具有:数据类Product(var id:UUID?= UUID.randomUUID(),var name:String?= null,@JsonFormat(shape = JsonFormat.Shape.ARRAY) var图片:...

kotlin jackson vert.x vertx-httpclient
1个回答
0
投票

如果您能够拥有一个与“图片”数组中的对象形状相匹配的对象,那么以下方法应该起作用:

© www.soinside.com 2019 - 2024. All rights reserved.