Джексон Сериализация JSON: есть ли способ как-то применить аннотацию jackson.annotation.JsonRawValue к каждой записи карты, но не к самой карте? - PullRequest
0 голосов
/ 19 сентября 2019

Я работаю над сериализацией JSON на Java.Я борюсь со спецсимволами автоматического побега.И Гсон, и Джексон делают это, и это трудно опустить.jackson.annotation.JsonRawValue, кажется, работает для простых полей String, но он не работает во время сериализации карты.

У меня есть поле в моем POJO:

Map<String,String> properties;

, и я хочу, чтобы значения в этой карте былине изменяться во время сериализации.

с использованием @JsonRawValue поверх всей карты, как здесь:

@JsonRawValue
    public Map<String, String> getProperties() {
        return properties;
    }

приводит к созданию недопустимой строки json, потому что карта будет сериализована во что-то подобное:

"properties" : {prop1=val1, prop2=val2, prop3=val3},

вместо строк в двойных кавычках:

"properties" : {"prop1"="val1", "prop2"="val2", "prop3"="val3"},

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

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