Я пытаюсь получить blob из моего mysql, но используя json. Вот мой код:Как получить изображение из mysql с помощью json?
public class ClubVO {
private long _id;
private String nom = null;
private byte[] imageClub = null;
public long getId() {
return _id;
}
public void setId(long aId) {
this._id = aId;
}
public String getNom() {
return nom;
}
public void setNom(String aNom) {
this.nom = aNom;
}
public byte[] getImage() {
return imageClub;
}
public void setImage(byte[] aImage) {
this.imageClub = aImage;
}
}
Здесь функция я использую, чтобы получить мой JSon объект:
public List<ClubVO> consultPlacesByName() throws Exception {
String[] resposta = new WebServiceClient().get(URL_WS);
if (resposta[0].equals("200")) {
Gson gson = new Gson();
ArrayList<ClubVO> lListaPlaces = new ArrayList<ClubVO>();
JsonParser parser = new JsonParser();
JsonArray lJasonArray = parser.parse(resposta[1]).getAsJsonArray();
for (int i = 0; i < lJasonArray.size(); i++)
lListaPlaces.add(gson.fromJson(lJasonArray.get(i), ClubVO.class));
return lListaPlaces;
} else {
throw new Exception(resposta[1]);
}
}
Вот что я получаю с этим кодом:
{"_id":15,"nom":"Musée d'art Contemporain de Montréal","imageClub":"[[email protected]"}
Только один больше, моя колонка - тип blob.
вы не объяснить, почему именно то, что вы получаете с этим кодом не так. Вы имеете в виду, что 8 байтов не является ожидаемой длиной? – Mark
Возможный дубликат [Двоичные данные в строке JSON. Что-то лучше Base64] (http://stackoverflow.com/questions/1443158/binary-data-in-json-string-something-better-than-base64) –
Вам нужно сериализовать изображение в байт [], затем закодировать байты в строку. –