(Android) Проблема с JSONObject toString
rootObject= JSONObject()
rootObject.put("test","aaa / bbb“)
Добавляет как — “aaa \/ bbb”
rootObject.toString() = {"test":"aaa \/ bbb"}
val a = rootObject.get("test“) = “aaa / bbb”
Почему так?
rootObject= JSONObject()
rootObject.put("test","aaa / bbb“)
Добавляет как — “aaa \/ bbb”
rootObject.toString() = {"test":"aaa \/ bbb"}
val a = rootObject.get("test“) = “aaa / bbb”
Почему так?
ну может быть. но когда создаю md5 то он не совпадает с серверным. а когда делаю.replace("\\","") то все норм
Екранування службових символів, а спробуй додати «aaa » bbb", теж має екранувати
rootObject.toString().replace("\\","").md5() такий варіант використав. на сервер потрібно передавати як string + md5 і порівнювати. (на андроїді — {"test":"aaa \/ bbb"} а на сервер прилітає {"test":"aaa / bbb"} )
але так працює. я вже різні варіанти пробував. там просто потрібно передавати дані на сервер. дані + добавити apikey створити md5 потім видалити apikey. потім те саме зробити на сервері і порівняти. ну типу така защита.
десериализатор на шарпе должен корректно разбирать экранированные символы. возможно на стороне сервера нужно какие-то настройки для этого сделать
на сервере все норм. на Kotlin проблема. когда добавляю в JSONObject то появляется знак «\» когда достаю и записываю в переменною то «\» знака нет
давай начнем с того что это и зачем тебе нужно эту строку запихивать в джейсон а потом оборачивать в мд5? что за магия такая?
данные которые передаются на сервер в Json туда добавляется apikey переводится в md5 дальше ключ удаляется и передается на сервер. на сервере делается тоже самое. если все совпадает, то сервер возвращает данные. если нет знака «/» то все норм
«ddd / dfdf» этот символ зачем экранировать «ddd \ dfdf» этот согласен, нужно писать вот так «ddd \\ dfdf»
по ссылке, что выше давал есть внизу объяснение зачем. с тегами будет пересекаться.
24 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів