-1

使用时遇到问题Klaxon 5.5

班级 :

data class QRResponse(
   @field:SerializedName("qrType")
   val qrType: String? = null,

   @field:SerializedName("qrData")
   val qrData: String? = null
)

代码 :

val dataContents = result.contents
Log.d("ScanQRData", "result.contents : $dataContents")

val dataQR = Klaxon().parse<QRResponse>(dataContents)
Log.d("ScanQRData", "dataQR : $dataQR")

结果 :

ScanQRData:result.contents:{“qrType”:“产品”,“qrData”:“352307811”}

ScanQRData: dataQR: QRResponse(qrType=null, qrData=null)

任何建议从解析后发生了什么qrType和null ?qrDataKlaxon

4

1 回答 1

0

Klaxon 不处理@field:SerializedName注释(您是从哪里导入的?)。在 Klaxon 中自定义 JSON 文档和 Kotlin 对象之间的映射的正确方法是@Json注解

data class QRResponse(
    @Json(name = "qrType")
    val qrType: String? = null,

    @Json(name = "qrData")
    val qrData: String? = null
)
于 2021-05-31T07:03:02.490 回答