(Android) Проблема с JSONObject toString

rootObject= JSONObject()
rootObject.put("test","aaa / bbb“)

Добавляет как — “aaa \/ bbb”

rootObject.toString() = {"test":"aaa \/ bbb"}

val a = rootObject.get("test“) = “aaa / bbb”

Почему так?

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Попробуй заимпортить другой класс import org.json.JSONObject;

ну может быть. но когда создаю md5 то он не совпадает с серверным. а когда делаю.replace("\\","") то все норм

Екранування службових символів, а спробуй додати «aaa » bbb", теж має екранувати

rootObject.toString().replace("\\","").md5() такий варіант використав. на сервер потрібно передавати як string + md5 і порівнювати. (на андроїді — {"test":"aaa \/ bbb"} а на сервер прилітає {"test":"aaa / bbb"} )

схоже на одрук, мало б rootObject.toString().replace("\/","").md5()?

але так працює. я вже різні варіанти пробував. там просто потрібно передавати дані на сервер. дані + добавити apikey створити md5 потім видалити apikey. потім те саме зробити на сервері і порівняти. ну типу така защита.

rootObject.toString().replace("\\","").md5()

іменно так працює

дай угадаю. сервер на пыхе?

десериализатор на шарпе должен корректно разбирать экранированные символы. возможно на стороне сервера нужно какие-то настройки для этого сделать

на сервере все норм. на Kotlin проблема. когда добавляю в JSONObject то появляется знак «\» когда достаю и записываю в переменною то «\» знака нет

на сервере все норм. на Kotlin проблема.

это не проблема. это обычное экранирование спецсимволов.

в переменной нет в JSONObject есть

давай начнем с того что это и зачем тебе нужно эту строку запихивать в джейсон а потом оборачивать в мд5? что за магия такая?

данные которые передаются на сервер в Json туда добавляется apikey переводится в md5 дальше ключ удаляется и передается на сервер. на сервере делается тоже самое. если все совпадает, то сервер возвращает данные. если нет знака «/» то все норм

«ddd / dfdf» этот символ зачем экранировать «ddd \ dfdf» этот согласен, нужно писать вот так «ddd \\ dfdf»

по ссылке, что выше давал есть внизу объяснение зачем. с тегами будет пересекаться.

Подписаться на комментарии