Разбор Json преобразует HTML-теги, чтобы избежать последовательности - PullRequest
3 голосов
/ 06 февраля 2012

Я получаю несколько html-содержимого с моего сервера, для которого я использую разбор JSON. Но это преобразует мой HTML-контент в значения Unicode.

Например: <p>Spend minimum $10 (in a single same-day receipt) at any outlet<\/p> преобразуется в

;p&gt;Spend minimum $10 (in a single same-day receipt) at any outlet &lt;/p&gt;

Теперь, если я попытаюсь установить это для моего WebView, оно будет отображаться с тегами HTML. Если я пытаюсь кодировать данные, используя TextUtils.encode, он отображает текст со значениями Unicode.

Может ли кто-нибудь помочь мне с этим.

Как мне извлечь HTML-контент и отобразить его в WebView?

Ответы [ 4 ]

2 голосов
/ 06 февраля 2012

Я не получаю ваш вопрос точно, но, если вы хотите загрузить HTML в веб-представлении, вы можете использовать

webView.loadDataWithBaseURL(null, html, "text/html", "UTF-8", null);

, и если вы хотите преобразовать <и> как нотацию, вы можете использовать Jsoup Библиотека

1 голос
/ 06 февраля 2012

Ребята, спасибо за вашу помощь.Но я решил эту проблему сам.Я разработал свой способ решения этой проблемы.

Что я сделал, то

1) преобразовал значение Unicode в Spanned следующим образом:

Spanned ss=Html.fromHtml(;p&gt;Spend minimum $10 (in a single same-day receipt) at any outlet &lt;/p&gt;");

2) Теперь преобразуйте этот Spanned в строку следующим образом:

String tempString=ss.toString();

3) А теперь установите для WebView, что решило проблему,

  webView.loadData(tempString, "text/html","UTF-8");
0 голосов
/ 06 февраля 2012

Чтобы отобразить HTML-страницу в WebView, зачем вам нужен JSON.создайте веб-представление внутри XML и напишите код ниже. В разделе «Деятельность» вы можете увидеть HTML-страницу.

0 голосов
/ 06 февраля 2012

На самом деле это не JSON-кодировщик, который преобразует данные в HTML-объекты, а какой-то другой слой перед передачей в JSON-кодировщик.

JSON не имеет ничего общего с HTML-тегами, обычно это только кавычки, закодированные парсером (Unicodeподдерживается большинством анализаторов).

Возможно, вам потребуется изменить способ возврата данных сервером, чтобы исключить кодирование скобок HTML-тегов для сущностей HTML или декодирование сущностей в вашем приложении.

Обновление: Для декодирования HTML-объектов, используемых в тегах HTML (и других тоже), вы можете использовать StringEscapeUtils.unescapeHTML()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...