Это моя строка
String currentTokenNo = "/SUeSjUf0A0aLFr+wVIZbw==\nLmmWtgHZ90yH0NBoATYB/A"
Я добавил эту строку в свой JsonObject
, который является классом com.google.gson.JsonObject пакет
JsonObject jsonToSubmit = new JsonObject();
try {
jsonToSubmit.addProperty("token", currentTokenNo);
} catch (Exception e) {
e.printStackTrace();
}
Но когда я регистрирую свои String
и JsonObject
Log.d("mainactivityjson", "Current Token No : "+currentTokenNo );
Log.d("mainactivityjson", "jsonToSubmit : "+jsonToSubmit);
Я нашел результат
D/mainactivityjson: Current Token No : "/SUeSjUf0A0aLFr+wVIZbw==\nLmmWtgHZ90yH0NBoATYB/A"
D/mainactivityjson: jsonToSubmit : {"token":"\"/SUeSjUf0A0aLFr+wVIZbw==\\nLmmWtgHZ90yH0NBoATYB/A\""}
Теперь мой вопрос:
Почему эти кавычки и косые черты добавляются к значению JsonObject
? Есть ли для этого подходящая причина?
Это действительно мешает процессу проверки значения String на стороне сервера.
Я сделал временное решение для выполнения задачи, обрезав один символ с обеих сторон, как показано ниже
jsonToSubmit.addProperty("token",currentTokenNo.substring(1,currentTokenNo.length()-1));
Это сработало отлично, но я не думаю, что это лучшая идея на будущее !!!
Дополнительная информация:
Переменная currentTokenNo
не объявлена напрямую, как показано выше, она была получена из SharedPreferences
, и если она объявлена напрямую, то все работает нормально.
String currentTokenNo = preferences.getString(LOGINCRED_TOKEN,"");
Если одна и та же переменная объявлена напрямую, все работает нормально.
Любая помощь будет оценена по достоинству.
currentTokenNo
объявлена какString
? - person miensol   schedule 03.01.201601-07 23:18:21.490 1619-1619/com.example.gsonitunes D/mainactivityjson: Current Token No : /SUeSjUf0A0aLFr+wVIZbw== LmmWtgHZ90yH0NBoATYB/A 01-07 23:18:21.490 1619-1619/com.example.gsonitunes D/mainactivityjson: jsonToSubmit : {"token":"/SUeSjUf0A0aLFr+wVIZbw==\nLmmWtgHZ90yH0NBoATYB/A"}
- person BNK   schedule 08.01.2016Log.d("mainactivityjson", "Current Token No : "+currentTokenNo );
сразу послеString currentTokenNo = preferences.getString(LOGINCRED_TOKEN,"");
? - person BNK   schedule 08.01.2016Current Token No "/SUeSjUf0A0aLFr+wVIZbw==y9iWl1SSrUe9zRQppENMNA"
.. Извините за предыдущий номер токена. Он был заменен. Но проблема появляется только после добавления его вjsonObject
. - person Shree Krishna   schedule 08.01.2016String currentTokenNo = "\"/SUeSjUf0A0aLFr+wVIZbw==y9iWl1SSrUe9zRQppENMNA\"";
- person BNK   schedule 08.01.2016Current Token No : /SUeSjUf0A0aLFr+wVIZbw== LmmWtgHZ90yH0NBoATYB/A
(без кавычек) :) - person BNK   schedule 08.01.2016