2013-08-21 3 views
0

Я получаю строку из запроса HTTP, который содержит данные, такие как:Преобразовать JSONObject, который содержит »в нормальную строку с JSON

{"status":1,"Type":3,"Data":"<p style=\"padding-left:80px\"><\/p><ol><li><span style=\"color:#ff0000\">This<\/span><\/li><li>is a<\/li><li><strong>m<span style=\"background-color:#66cc00\">are<\/span><\/strong><\/li><\/ol><p><\/p><p style=\"padding-left:80px\"><strong style=\"text-align:left\"><span style=\"background-color:#66cc00\"><\/span><\/strong><\/p> "} 

преобразовать его в JSONObject так:

jsonObj = new JSONObject(result); 

то мне нужно, чтобы получить HTML в виде строки для показа в TextView,

Я попытался это:

String data = jsonObj.getString("data"); 

но данные осталось null. Это работает с простыми строками JSON, но я думаю, что это может быть причиной "символы

ответ

6

Вы используете "data" со строчным d, но ваш JSON содержит "Data" с капиталом D Используйте это:..

jsonObj.getString("Data"); 
+0

Как смущающе, общая ошибка Noob стоила мне много часов. Спасибо за острый глаз. – Zapnologica

3

вы использовали "data" вместо "Data". Это единственная нелепой ошибки вы сделали. чтобы избежать такого типа опечатки ошибки, всегда пользователя final static String к ним доступ из любой точки мира.

final static String KEY_DATA = "Data"; 

Затем откройте его в своем классе (имя предположит, что класс Aclass):

jsonObj.getString(KEY_DATA); 

И в других классах:

jsonObj.getString(Aclass.KEY_DATA); 

Это хорошая практика, на самом деле и нет возможности опечатки ошибки!

+0

Нет, сегодня самые используемые IDE достаточно умны. 'Ctrl + space' покажет вам предложение выбрать ваш выбор в окнах. Не нужно вводить имя переменной. Также, если вы допустили ошибку опечатки, в IDE будет отображаться ошибка синтаксиса в имени переменной. По крайней мере, это безопасно, чем набирать ту же строку '' Data '' всюду. –

+0

Нет, глупо, вы делаете опечатку в 'final static String KEY_DATA =" data ";' – vy32

Смежные вопросы