Ответ 1
Это действительно действительная (но не обязательная) кодировка. Любой символ может быть закодирован с помощью escape-кода unicode в JSON, и любая действительная библиотека разбора JSON должна иметь возможность интерпретировать эти escape-последовательности.
&
не является частью символов, которым требуется кодирование (см. определение string
на json.org), но там это несколько JSON-библиотек, которые довольно "агрессивны" в своей кодировке. Это обычно не проблема, если вы не справляетесь с полученным JSON с соответствующим парсером JSON.
GsonBuilder.disableHtmlEscaping() поможет вам отключить эту функцию, если вам абсолютно необходимо.