Как закодировать JSON, встроенный в JSON
У меня есть строка JSON, а одно из полей - текстовое поле. Это текстовое поле может содержать текст, который пользователь вводит в пользовательский интерфейс, и если текст, который они вводят, является текстом JSON, возможно, чтобы проиллюстрировать некоторые кодировки, мне нужно закодировать их текст, чтобы он не интерпретировался как JSON в фактической структуре JSON на сервер.
Когда структура JSON принимается сервером и получает декодирование, мне нужно убедиться, что встроенный JSON декодируется как текст, который заканчивается похожим на JSON в пользовательском интерфейсе.
По сути, как вы избегаете встроенной строки JSON?
Ответы
Ответ 1
Я делаю что-то подобное, только с XML вместо JSON: при получении неверных или иначе неперерабатываемых данных сервер возвращает структуру ошибок, содержащую некоторую информацию и исходные данные. Чтобы клиент не смог разбор поврежденных данных снова, он base64 закодирован на сервере.
Итак, вместо отправки
{
title : "My sample code",
payload : "{ \"foo\" : \"bar\" }"
}
рассмотрите отправку
{
title : "My encoded sample code",
payload : "eyAiZm9vIiA6ICJiYXIiIH0="
}