4

データベースからのブロブに基づいて JSON を作成する必要があります。ブロブ画像を取得するには、以下のコードを使用し、json 配列で表示した後に:

Statement s = connection.createStatement();
ResultSet r = s.executeQuery("select image from images");
while (r.next()) {
    JSONObject obj = new JSONObject();
    obj.put("img", r.getBlob("image"));
}

画像ブロブに従って、各画像の JSON オブジェクトを返したいと思います。どうすれば達成できますか?

4

1 に答える 1

5

JSON のバイナリ データは通常、Base64でエンコードされた形式で表現するのが最適です。標準の Java SE が提供DatatypeConverter#printBase64Binary()するメソッドを使用して、バイト配列を Base64 エンコードすることができます。

byte[] imageBytes = resultSet.getBytes("image");
String imageBase64 = DatatypeConverter.printBase64Binary(imageBytes);
obj.put("img", imageBase64);

反対側はBase64でデコードするだけです。android.util.Base64たとえば、Android では、組み込みAPI を使用できます。

byte[] imageBytes = Base64.decode(imageBase64, Base64.DEFAULT);
于 2013-02-15T15:08:33.243 に答える