Java 如何使用json从mysql检索图像?

Java 如何使用json从mysql检索图像?,java,mysql,json,bytearray,blob,Java,Mysql,Json,Bytearray,Blob,我试图从我的mysql中获取一个blob,但使用的是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 ) { thi

我试图从我的mysql中获取一个blob,但使用的是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] );
    }
}

还有一件事,我的列是blob类型。

您的问题是,json数据中的字节数组的哈希代码不是真正的图像字节:[B@25450aa2" 解决序列化需要使用的对象时的问题

new String(Base64.encodeBase64(byteArray))
在解析json数据时,需要执行相反的操作:

Base64.decodeBase64(jsonString.getBytes())

您没有确切解释此代码的错误原因。您的意思是8个字节不是预期的长度吗?可能的重复需要将图像序列化为字节[],然后将字节编码为字符串。
Base64.decodeBase64(jsonString.getBytes())