[英]simple way to convert byte array to JSONArray
我有一個從 JSONArray 轉換而來的字節數組。 現在如何將其轉換回 JSONArray。 有沒有簡單的庫來做到這一點。 或者我必須像這篇文章所說的那樣使用 base64 嗎? 這是將 JSONArray 轉換為 bytearray 的代碼:
JSONArray arr = //some value;
byte[] bArr = arr.toString().getBytes();
由於您在將 Json 數組字符串轉換為字節時沒有指定任何CharSet
。 只需使用:
arr = new JSONArray(new String(bArr));
在 json 中發送二進制文件的典型方法是對它進行 base64 編碼。 Java 提供了不同的 Base64 編碼和解碼字節 [] 的方法。 其中之一是DatatypeConverter。
很簡單
byte[] originalBytes = new byte[] { 1, 2, 3, 4, 5};
String base64Encoded = DatatypeConverter.printBase64Binary(originalBytes);
byte[] base64Decoded = DatatypeConverter.parseBase64Binary(base64Encoded);
private JsonArray convertByteArrayToJsonArray(byte[] yourByteArray) throws IOException {
try (ZipInputStream zipInputStream = new ZipInputStream(new ByteArrayInputStream(yourByteArray))) {
zipInputStream.getNextEntry();
try (JsonReader reader = Json.createReader(zipInputStream)) {
return reader.readArray();
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.