【发布时间】:2020-10-02 12:09:53
【问题描述】:
我从 API 得到这个结果:
{"sessionID":"","randomKey":"","id":0,"userName":"","useIPAddress":"","usePortNo":"","response":{"code":-24,"message":"Incorrect credential","postedDateTime":null,"accountNo":0,"trxnNo":0,"changeTypeID":0}}
我的课是这样的:
class ResponseLoginParam {
val RandomKey: String? = null
val SessionID: String? = null
val UseIPAddress: String? = null
val UsePortNo: Int? = null
val UserName: String? = null
val Response: Response? = Response()
}
class Response {
val Code: Int? = null
val Message: String? = null
val PostedDateTime: String? = null
val AccountNo: Int? = null
val ChangeTypeID: Int? = null
}
由于某种原因,它没有映射到我的对象。但如果我得到这样的结果:
{"SessionID":"","RandomKey":"","Id":0,"UserName":"","UseIPAddress":"","UsePortNo":"","Response":{"Code":-24,"Message":"Incorrect credential","PostedDateTime":null,"AccountNo":0,"TrxnNo":0,"ChangeTypeID":0}}
现在大写了,我可以正确映射值。这是为什么呢?
【问题讨论】:
-
使用 GsonBuilder 创建 Gson 对象时,将 FieldNaming 策略设置为
gsonBuilder.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)。 -
您能否添加您的特定代码以获取 API 响应并使用 Gson 映射到您的类?
-
嗨 Ibanez1408。我编辑了你的一些问题,以提高它们的简洁性和可读性。他们往往表现出一种恳求、谄媚的语气,读者可能会觉得这种语气是强制性的——请记住他们是志愿者。我可以要求你坚持技术写作吗?你写作不仅仅是为了解决你眼前的问题,而是为了帮助为许多未来的读者创建一个问答。