2014-09-29 8 views
6

Ho un array di byte che è stato convertito da un JSONArray. Ora come convertirlo nuovamente in JSONArray. C'è qualche semplice lib per farlo. O devo usare base64 come dice il post this? Ecco il codice per convertire JSONArray a ByteArray:modo semplice per convertire l'array di byte in JSONArray

JSONArray arr = //some value; 
byte[] bArr = arr.toString().getBytes(); 

risposta

8

Dal momento che non si specifica alcuna CharSet sulla conversione della stringa di matrice JSON per byte. Utilizzare semplicemente:

arr = new JSONArray(new String(bArr)); 
7

Il modo tipico per inviare binario in JSON è per base64 codificare. Java fornisce diversi modi per codificare Base64 e decodificare un byte []. Uno di questi è DatatypeConverter.

Molto semplicemente

byte[] originalBytes = new byte[] { 1, 2, 3, 4, 5}; 
String base64Encoded = DatatypeConverter.printBase64Binary(originalBytes); 
byte[] base64Decoded = DatatypeConverter.parseBase64Binary(base64Encoded); 
+0

Così si stanno dicendo che posso usare questo per convertire JSONArray di array di byte e viceversa? – Vithushan

+0

Sì hai ragione! – Rohit