JSON печатается с обратной косой чертой - PullRequest
0 голосов
/ 04 декабря 2018
{"externalQueryDate":"4018-11-23"}

это моя строка json, которая находится в столбце mysql.

Я получаю его с creditRisk.getCreditRiskDataCodeBased()

и javascript или swagger, я вижу с обратной косой чертой:

"{\"externalQueryDate\":\"4018-11-23\"}"

Я могу использовать JSON.parse во внешнем интерфейсе, но я хочу решить, это бэкэнд.

даже

для

   StringWriter sw = new StringWriter();
        objectMapper.writer().writeValue(sw, creditRisk.getCreditRiskDataTermBased());

пишет:

"responseCode": "\"{\\\"externalQueryDate\\\":\\\"4018-11-23\\\"}\""

Я пробовал эти

objectMapper.readTree(creditRisk.getCreditRiskDataCodeBased()).toString()

и

objectMapper.writer().writeValue(sw, creditRisk.getCreditRiskDataTermBased());

и

@JsonRawValue
    @JsonValue

Как я могу решить это?

В mysql, это также без slash es

1 Ответ

0 голосов
/ 04 декабря 2018

Если вы хотите проанализировать строку json с помощью jackson objectMapper, вам нужно использовать 'read' и указать ему, из какого класса будет использоваться для создания проанализированного объекта.

Так что в вашем случае вы могли бы сделать что-то вроде

        ObjectMapper objectMapper = new ObjectMapper();
        String json = "{\"externalQueryDate\":\"4018-11-23\"}";

        Map map = objectMapper.readValue(json, Map.class);

        System.out.print(map.get("externalQueryDate"));

Я только что использовал карту здесь, так как не знаю, в какой класс вы хотите разобрать json.Если у вас есть класс с полем externalQueryDate, вы можете прочитать об этом.Вы также можете использовать @JsonFormat в поле, чтобы сообщить ему, какой формат даты, если вы хотите проанализировать значение прямо в поле LocalDate.

Я предлагаю вам написать несколько простых модульных тестов, чтобы освоитькавычки в строках.Похоже, они вызывают у вас некоторую путаницу.

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