如何删除\"来自一系列对象

时间:2017-01-30 17:59:34

标签: java json string replace escaping

我正在尝试使用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);
            }

此外,我尝试在行 - basketsToc.add(basketsInfoTO);之后打印 basketsInfoTO.getDocument 的值并获得正确的回复。

然而,当我尝试在行 - basketInfoRestTO.setBasketsInfoTOList(basketsToc);之后打印 - basketInfoRestTO.getBasketsInfoTOList 的值时,我得到了这个&#34;性格问题。

1 个答案:

答案 0 :(得分:-1)

我可以使用以下行删除\“响应 -

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

还可以使用下面的行 -

从响应中删除\ n
responseXML.replace("\\n", "");