Чтобы декодировать строку ответа API в JSON, json.decode()
работает нормально.
Это проанализирует строку JSON, аналогичную
{ "Response" : {"Responsecode" : "1" , "Response" : "Success"}}
Но в моем случае ответ приходит в сериализованной форме, например:
{\"Response\" : {\"Responsecode\" : \"0\" , \"Response\" : \"Success\"}}
json.decode()
не будет работать.
В Java я использовал StringEscapeUtils.unescapeJson()
для той же проблемы.
Я искал Дарт, но не смог найти, какчтобы убрать символы в строке.
Редактировать:
Предположим, значение ключевых данных равно abc"de
Итак, соответствующий ему JSON будет {"data":"abc\"de"}
И, следовательно, во время сериализации этоСтрока json экранируется, чтобы выдать {\"data\":\"abc\\\"de\"}
в качестве ответа, отправляемого API.
Итак, я намерен удалить escape-последовательности, чтобы я мог получить строку {"data":"abc\"de"}
, которая впоследствии будет декодированаиспользуя json.decode()
.Удаление escape-последовательностей было сделано с помощью StringEscapeUtils.unescapeJson()
в Java.