我正在尝试从Kotlin对象编码JSON对象:
class RequestData(val phone: String) ... val requestJson = Gson().toJson(RequestData("79008007060"))
编码后,我得到了带引号的字符串
"{\"phoneNumber\":\"\"}"
取而代之
{"phoneNumber":""}
你能告诉我为什么会发生这种情况以及如何解决它吗?
llycmphe1#
我找到了一个解决方案。我在其他地方犯了错误。我试图用Retrofit将POST JSON请求发送到服务器,并将对象编码为JSON字符串,然后将其放在@Body中:
interface AuthService { @POST("requestPinCode") fun requestPinCode(@Body body: String): Observable<ApiResult> } ... data class RequestData(val phone: String) ... val requestJson = Gson().toJson(RequestData("79008007060")) authService.requestPinCode(requestJson)
但正确方法是将未编码对象放到@Body中
interface AuthService { @POST("requestPinCode") fun requestPinCode(@Body body: RequestData): Observable<ApiResult> } ... data class RequestData(val phone: String) ... authService.requestPinCode(RequestData("79008007060"))
1条答案
按热度按时间llycmphe1#
我找到了一个解决方案。我在其他地方犯了错误。我试图用Retrofit将POST JSON请求发送到服务器,并将对象编码为JSON字符串,然后将其放在@Body中:
但正确方法是将未编码对象放到@Body中