Я работаю над сериализацией 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"},
но если какое-либо значение будет содержать, например, обратную косую черту, оно будет удвоено, чего я и пытаюсь избежать в первую очередь.