bytes as array

This commit is contained in:
Looly
2022-06-13 21:47:05 +08:00
parent c5ab974441
commit 2b7403162e
5 changed files with 18 additions and 30 deletions

View File

@@ -1,6 +1,5 @@
package cn.hutool.json;
import cn.hutool.core.convert.Convert;
import org.junit.Assert;
import org.junit.Test;
@@ -9,15 +8,18 @@ import java.util.List;
public class Issue2377Test {
@Test
public void bytesTest(){
Object[] paramArray = new Object[]{ 1,new byte[]{10,11}, "报表.xlsx"};
String paramsStr = JSONUtil.toJsonStr(paramArray);
public void bytesTest() {
final Object[] paramArray = new Object[]{1, new byte[]{10, 11}, "报表.xlsx"};
final String paramsStr = JSONUtil.toJsonStr(paramArray);
Assert.assertEquals("[1,[10,11],\"报表.xlsx\"]", paramsStr);
List<Object> paramList = JSONUtil.toList(paramsStr, Object.class);
final List<Object> paramList = JSONUtil.toList(paramsStr, Object.class);
String paramBytesStr = JSONUtil.toJsonStr(paramList.get(1));
final String paramBytesStr = JSONUtil.toJsonStr(paramList.get(1));
Assert.assertEquals("[10,11]", paramBytesStr);
final byte[] convert = Convert.convert(byte[].class, paramBytesStr);
Assert.assertArrayEquals((byte[])paramArray[1], convert);
final byte[] paramBytes = JSONUtil.toBean(paramBytesStr, byte[].class, false);
Assert.assertArrayEquals((byte[]) paramArray[1], paramBytes);
}
}

View File

@@ -8,7 +8,7 @@ public class IssueI59LW4Test {
@Test
public void bytesTest(){
final JSONObject jsonObject = JSONUtil.createObj().set("bytes", new byte[]{1});
Assert.assertEquals("{\"bytes\":\"AQ==\"}", jsonObject.toString());
Assert.assertEquals("{\"bytes\":[1]}", jsonObject.toString());
final byte[] bytes = jsonObject.getBytes("bytes");
Assert.assertArrayEquals(new byte[]{1}, bytes);
@@ -17,7 +17,7 @@ public class IssueI59LW4Test {
@Test
public void bytesInJSONArrayTest(){
final JSONArray jsonArray = JSONUtil.createArray().set(new byte[]{1});
Assert.assertEquals("[\"AQ==\"]", jsonArray.toString());
Assert.assertEquals("[[1]]", jsonArray.toString());
final byte[] bytes = jsonArray.getBytes(0);
Assert.assertArrayEquals(new byte[]{1}, bytes);