2014-09-29 311 views
6

我有一个从JSONArray转换而来的字节数组。现在如何将其转换回JSONArray。有没有简单的库来做到这一点。或者我不得不使用base64作为this帖子说?这里是转换JSONArray到的ByteArray代码:将字节数组转换为JSONArray的简单方法

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

回答

8

既然你是不是在JSON数组字符串转换为字节,不指定任何CharSet。简单地使用:

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

以JSON发送二进制的典型方法是为base64编码。 Java提供了不同的方法来Base64编码和解码一个字节[]。其中之一是DatatypeConverter。

很简单

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

所以你告诉我可以使用它将JSONArray转换为字节数组,反之亦然? – Vithushan 2014-09-29 11:56:12

+0

是的,你是对的! – Rohit 2014-09-30 06:20:46