как отправить с помощью анализа jsonObject retrofit2 в строку в Android? - PullRequest
0 голосов
/ 05 мая 2020

Я хочу отправить данные типа содержимого: application / json. когда я отправляю не создание файла класса данных, а только синтаксический анализ JSONObject на String, я получил неправильную строку, например, {\"mobile\":\"01011111111\"}" Я хочу отправить без этого \. как я могу это удалить?

вот мой код

   override fun checkSMS(mobile: String): Call<NetworkResult> {
        val jsonObject = JSONObject()
        try {
            jsonObject.put("mobile", mobile)
        } catch (e: JSONException) {
            e.printStackTrace()
        }
        showLog("jsonObject : "+jsonObject)
        return service.checkSMS(jsonObject.toString())
    }
    @POST("smsCheck")
    fun checkSMS(
        @Body params: String
    ) :Call<NetworkResult>

1 Ответ

0 голосов
/ 05 мая 2020

Попробуйте с accumulate

 val jsonObject = JSONObject()
 jsonObject.accumulate("mobile",mobile)

Ваш POST Запрос @Body должен be JSONObject

@POST("smsCheck")
    fun checkSMS(
        @Body json: JSONObject
    ) :Call<NetworkResult>

FYI

Для проблемы nameValuePairs Вы можете использовать JsonObject .

package com.google.gson;

JsonObject reqObject = new JsonObject();
        try{

            reqObject.addProperty("mobile","12345678");

        }

Добавьте это в build.gradle раздел

implementation "com.google.code.gson:gson:2.8.6"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...