2014-11-15 3 views
1

как получить байт [] с использованием JSON WebServiceпреобразования байт [] из JSON в Android

Мой формат JSON приведен ниже:

 [{"imgLogo":[255,216,255,224,0,16,74,70,73,70,0,1,1,0,0,1,0,1,0,0,255,219,0,132,0, 
    9,6,7,20,19,18,20,20,19,20,21,22,20,22,20,21,24,22,21,21,20,20,20,20,20, 
    24,21,20,22,24,20,20,20,23,24,28,40,32,24,26,37,28,20, 
    21,33,49,33,37,41,43,46,46,46,23,31,51,56,51,44,55,40,45,46,43,1,10,10,10 
    ,14,13,14,27,16,16,26,44,36,28,36,44,44,44,44,44,44,44,44,44,44,44,44, 
    44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44, 
    44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,255,192,0,17,8,0,194,1,3,3....]}] 

Я использую этот следующий код, чтобы получить JSon значение вот так:

JSONObject jsonChildNode = jsonMainNode.getJSONObject(i); 
String imagestring = jsonChildNode.getString("imgLogo"); 

Теперь я получаю над байт [] значение как строку. то как я могу преобразовать эту строку в байт []

ответ

0

первым создать строку, содержащую данные, а затем

byte[] data = Base64.decode(iconString, Base64.DEFAULT); 

теперь у вас есть массив байтов, содержащий ваш битовый массив.

+0

ли кодироваться его строки по Base64? –

+0

Я уже использую этот код, но я получаю следующую ошибку. 11-15 03: 41: 11.353: D/decodedString (1376): [B @ b3e9fa50 11-15 03: 41: 11.353: D/skia (1376): --- SkImageDecoder :: Factory возвращен null 11-15 03: 41: 11.353: I/System.out (1376): Растровое изображение: null –

0

Используйте этот метод getBytes:

byte[] bytes = imagestring .getBytes("UTF-8");