Задать вопрос
OrlovEvgenii
@OrlovEvgenii
golang developer / DevOps

Убрать экранирование ковычек в json ответе Spring+Hibernate+Postgresql?

Пишу микросервис, использую spring-boot+hibernate+psql
Структура данных вида.
id, UserID тип int, UserProfile типа json.
C первыми двумя все ясно.
В UserProfile храниться объект типа json -
"{ "name": "Book the First", "author": { "first_name": "Bob", "last_name": "White"} }"


При выборке из таблицы засовываю объект json в String
@Column(name="UserProfile")
    private String userProfile;




 public String getUserProfile() {
        return userProfile;
    }


И отправляю json ответом, получая на выходе
{ \"name\": \"Book the First\", \"author\": { \"first_name\": \"Bob\", \"last_name\": \"White\" } }


Как отдать json ответ без backslash при этом не втыкая replace?
  • Вопрос задан
  • 4843 просмотра
Подписаться 2 Оценить 4 комментария
Решения вопроса 2
@idyoshin
нужно проработать транспортный объект, который будет маппится в/из JSON представления.

Или дешево и сердито работать с Map тогда вообще можно так:

@Inject
    private JsonParser jsonParser;

    @RequestMapping(value="/user_profile/{id}", method = RequestMethod.GET)
    public ResponseEntity<Map<String, Object>> get(@PathVariable("id") Long id) {
        UserEntity entity = userRepository.get(id);
        Map<String, Object> profile = jsonParser.parseMap(entity.getUserProfile());
        return new ResponseEntity(profile, HttpStatus.OK);
    }
Ответ написан
OrlovEvgenii
@OrlovEvgenii Автор вопроса
golang developer / DevOps
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы