Как передать массив байт по Json

372
22 сентября 2017, 18:20

Приветствую! Есть необходимость передать массив байтов по json. Но у меня это не получается. Проект написан на Java с использованием Spring-Hibenate-JPA.

Сущность News в которой я объявляю поле image_url, база Postgres, поле в базе имеет тип BYTEA.

@Column(name = "image_url", nullable = false, length = 10000)
private byte[] image_url;

Добавляю в базу массив "b":

String url = "http://78.24.216.172:8080/images/" + nameImage + ".jpeg";
byte[] b = url.getBytes();

Далее просто запрашиваю все записи, таким образом:

@Query("select distinct p from News p ORDER BY p.id DESC")
List<News> findNewsNew();

Но почему-то в image_url не массив байт а просто строка, как мне решить эту проблему?

Answer 1

Решил проблему заменой библиотеки для Json, раньше использовал Jackson, теперь перешел на Gson, и массив байтов отображается правильно.

Answer 2

Попробуйте преобразовать строку в байт массив.

	public byte[] stringToHex(String string) 
	{ 
		return new BigInteger(string, 16).toByteArray(); 
	}

READ ALSO
Проблемы с кодировкой ответа сервера в eclipse

Проблемы с кодировкой ответа сервера в eclipse

Из java-сервлета посылаю на сторонний web-сервер GET запрос, получаю в ответ html код, запихиваю этот код в строкуСмотрю в строку -а русские буквы...

260
Проблема при установке JRE

Проблема при установке JRE

Вот что выдает при установке: JRE Error code:1618

201
Выход за пределы массива Java StringIndexOutOfBoundsException

Выход за пределы массива Java StringIndexOutOfBoundsException

Задача состоит в том, чтобы найти и напечатать подстроку наибольшей длины из одинаковых символовВыдает ошибку, не могу понять, почему происходит...

289
Исключения в @Async методах. Spring

Исключения в @Async методах. Spring

Есть контекст со слушателем

231