Как распарсить этот ответ сервера?

188
06 декабря 2018, 17:30

Пишу программу на Java. Использую API сервиса и библиотеку Retrofit2 для отправки запросов на сервер и получения ответа, а также библиотеку Gson. Ответ выглядит так:

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://www.zzap.ru/"> 
{"error":"","row_count":1,"terms":"19010RZAA51;HONDA","table": [{"code_doc_b":207091034328894,"code_cat":1117059914,"descr_type_search":"Запрошенный номер(cпец.предложения)","type_search":10,"class_man":"HONDA","logopath":"https://koj.blob.core.windows.net/zzap-upload/upload/logos/s71defaa21ff50352310d26b8bffa239f.png","partnumber":"19010RZAA51","class_cat":"РАДИАТОР ОХЛАЖДЕНИЯ","imagepath":"","qty":"3 шт. ","instock":0,"wholesale":0,"local":1,"price":"21 925р.","price_date":"2018-08-31T16:10:43.26","descr_price":" / Ответственность за подбор номера на клиенте. Предоплата 100%. / Есть доставка в пределах МКАД-500 р., за МКАД - по договорённости. / ","descr_qty":"3-4 раб.дня","class_user":"NEWPART","descr_rating_count":"409 отзывов","rating":5,"descr_address":"Москва, м.Печатники","phone1":"8(499)784-28-06","order_text":"Заказать","user_key":"pV9WvqNPhDkgxP63ZkrvGc/v1iLFpapQQcSS17jSQfje07fzLyiiZQ==;pV9WvqNPhDmIt9usbr+edW4RU0aorKbXYhLbDNUImWk=","addr_map_geo1":55.6607657684547,"addr_map_geo2":37.7064550847946,"used":0}]}</string>

Как обработать данный ответ и вытащить из него json? Проблема заключается в том, что json приходит внутри тегов string. Заранее спасибо за ответ!

Answer 1
public String getJsonString(String xmlStr) throws XMLStreamException {
    XMLInputFactory factory = XMLInputFactory.newFactory();
    XMLStreamReader reader = factory.createXMLStreamReader(new StringReader(xmlStr));
    reader.nextTag();
    if ("string".equals(reader.getName().getLocalPart())) {
        return reader.getElementText();
    }
    return null;
}
READ ALSO
Ошибка при создании интерфейса: &ldquo;Unable to parse template &rdquo;Interface&ldquo; Idea&rdquo;

Ошибка при создании интерфейса: “Unable to parse template ”Interface“ Idea”

Использую Intellij IDEAПри создании интерфейса IDE выдает ошибку:

183
Проверка набора текста в Edit Text

Проверка набора текста в Edit Text

Появилась необходимость отслеживать набор символов в Edit Text, так сказать, in real-timeТ

160