У нашому сервісі Jersey REST ми відправляємо назад —
на клієнт браузера, як елемент у об'єкті JSON. Але клієнт JQuery браузера, який споживає мій сервіс, замість того, щоб декодувати його в літерал -
відображає його як —
, само кодоване значення.
Цікаво, чи потрібно змінити налаштування в Джерсі або JSON-резольвері, щоб клієнтський браузер зрозумів його як літерал -
. Я надсилаю вихідний JSON з Джерсі у форматі UTF-16. Оцініть будь-яку допомогу.
Відповіді:
1 для відповіді № 1—
може бути дійсним у HTML або XML. Але в JSON це u2014
(2014 - це шістнадцяткове представлення десяткового числа 8212):
{
"trip": "New York u2014 Chicago"
}
Ви можете перевірити це JSONLint.
До речі, як саме ви генеруєте вихід JSON? Вам не потрібно піклуватися про деталі кодування символів. Джерсі повинні зробити це за вас.
Оновлення: Очевидно, що ваші початкові дані є кодуванням HTML або XML (з якоїсь причини). Тому рішення полягає в тому, щоб скасувати кодування, перш ніж надсилати його як JSON. Джерсі подбає про відпочинок.
Якщо ваші дані лише HTML / XML, кодовані для певних символів, але не в цілому, то у вас є проблема, яку потрібно вирішити ще ближче до джерела.
0 для відповіді № 2
Ви відправляєте —
або —
? Пам'ятайте, що об'єкт повинен мати кінцеву крапку з комою.