2017-01-30 4 views
0

Я пытаюсь получить массив объектов с сервера, используя JSON.Как удалить »из массива объектов

Сервер посылает мне следующую строку.

"document" : "{\"bc\": {\n \"b\": {\n  \"t\": 1,\n  \"r\": 1,\n  \"c\": \"none\",\n  \"ipad\": \"Y\",\n  \"n\": \"Table of Contents\",\n  \"o\": 1,\n  \"l\": \"en_US\",\n  \"i\": 1000013253\n },\n \"i\": \"CM19014269\"\n}}" 

Этот ответ содержит «вместо каждого». Мне не нужно никаких ». Все, что я хочу, это простой ответ JSON. Буду признателен за любую оказанную помощь.

Мой код: -

for (ManageBasketTO manageBasketTO: retList) { 

       Long basketId = manageBasketTO.getBasketID(); 
       BasketTO basketTo = null; 
       basketTo = CommonUtil.getBasket(usrCtxtObj, basketId, language, EBookConstants.FOR_VIEWER_INTERFACE, 
         usrCtxtObj.getScenarioID(), EBookConstants.YES, request, deviceType); 

       String doc = Utilities.getStringFromDocument(basketTo.getdocument()); 

        doc = doc.replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>", ""); 
        doc = doc.replace("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>", ""); 
        doc = doc.trim(); 

        JSONObject object = XML.toJSONObject(doc); 
        doc = object.toString(4); 
        BasketsInfoTO basketsInfoTO = new BasketsInfoTO(doc); 

        basketsToc.add(basketsInfoTO); 



       } 



      basketInfoRestTO.setBasketsInfoTOList(basketsToc); 

      ObjectMapper mapper = new ObjectMapper(); 

      responseXML = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(basketInfoRestTO); 
      } 

Кроме того, я попытался распечатывающими basketsInfoTO.getDocument только после того, как линии - basketsToc.add(basketsInfoTO); и получить правильный ответ.

Однако, когда я пытался напечатать значение - basketInfoRestTO.getBasketsInfoTOList после строки - basketInfoRestTO.setBasketsInfoTOList(basketsToc); Я получаю \ от ответа, используя ниже линии «вопрос характера

+0

вы пытаетесь исправить это по нац e стороне клиента или стороне сервера? – Aaron

+0

Вам предоставлен объект JSON - проанализируйте его как объект JSON, а затем возьмите поле 'document'. Не вмешивайтесь со строковыми заменами - довольно беспокоиться о том, что вы вручную удаляете объявление XML, чтобы начать с ... –

ответ

-1

Я могу удалить \». -

responseXML.replace("\\\"", "\""); 

также возможность удалить \ п от ответа, используя ниже линии -

responseXML.replace("\\n", ""); 
+0

Нет, эти строки ничего не принесут, потому что вы игнорируете возвращаемое значение 'replace '. Даже если вы * использовали * результат, это неправильное решение проблемы, IMO. У вас JSON, так что проанализируйте его как JSON. –

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