From 7586577521ba121df3303796917893136983b8ad Mon Sep 17 00:00:00 2001 From: redkale Date: Thu, 17 Oct 2024 09:05:09 +0800 Subject: [PATCH] json --- .../org/redkale/convert/json/JsonBytesWriter.java | 15 ++------------- .../org/redkale/convert/json/JsonCharsWriter.java | 15 ++------------- 2 files changed, 4 insertions(+), 26 deletions(-) diff --git a/src/main/java/org/redkale/convert/json/JsonBytesWriter.java b/src/main/java/org/redkale/convert/json/JsonBytesWriter.java index 32aa92c37..374bdc625 100644 --- a/src/main/java/org/redkale/convert/json/JsonBytesWriter.java +++ b/src/main/java/org/redkale/convert/json/JsonBytesWriter.java @@ -28,8 +28,7 @@ public class JsonBytesWriter extends JsonWriter implements ByteTuple { private static final byte[] BYTES_NULL = new byte[] {'n', 'u', 'l', 'l'}; - // 所有byte、short值的序列化进行缓存 - private static final int TENTHOUSAND_MAX = Short.MAX_VALUE + 2; + private static final int TENTHOUSAND_MAX = 10001; private static final byte[][] TENTHOUSAND_BYTES = new byte[TENTHOUSAND_MAX][]; private static final byte[][] TENTHOUSAND_BYTES2 = new byte[TENTHOUSAND_MAX][]; @@ -217,17 +216,7 @@ public class JsonBytesWriter extends JsonWriter implements ByteTuple { @Override public boolean writeFieldShortValue(Object fieldArray, boolean comma, short value) { - byte[] bs1 = (byte[]) fieldArray; - byte[] bs2 = value >= 0 ? TENTHOUSAND_BYTES[value] : TENTHOUSAND_BYTES2[-value]; - int len1 = bs1.length; - int len2 = bs2.length; - byte[] src = expand(1 + len1 + len2); - if (comma) src[count++] = BYTE_COMMA; - System.arraycopy(bs1, 0, src, count, len1); - count += len1; - System.arraycopy(bs2, 0, src, count, len2); - count += len2; - return true; + return writeFieldIntValue(fieldArray, comma, value); } @Override diff --git a/src/main/java/org/redkale/convert/json/JsonCharsWriter.java b/src/main/java/org/redkale/convert/json/JsonCharsWriter.java index 8d0110772..967737f93 100644 --- a/src/main/java/org/redkale/convert/json/JsonCharsWriter.java +++ b/src/main/java/org/redkale/convert/json/JsonCharsWriter.java @@ -27,8 +27,7 @@ public class JsonCharsWriter extends JsonWriter { private static final char[] CHARS_FALSEVALUE = "false".toCharArray(); - // 所有byte、short值的序列化进行缓存 - private static final int TENTHOUSAND_MAX = Short.MAX_VALUE + 2; + private static final int TENTHOUSAND_MAX = 10001; private static final char[][] TENTHOUSAND_CHARS = new char[TENTHOUSAND_MAX][]; private static final char[][] TENTHOUSAND_CHARS2 = new char[TENTHOUSAND_MAX][]; @@ -157,17 +156,7 @@ public class JsonCharsWriter extends JsonWriter { @Override public boolean writeFieldShortValue(Object fieldArray, boolean comma, short value) { - char[] bs1 = (char[]) fieldArray; - char[] bs2 = value >= 0 ? TENTHOUSAND_CHARS[value] : TENTHOUSAND_CHARS2[-value]; - int len1 = bs1.length; - int len2 = bs2.length; - char[] src = expand(1 + len1 + len2); - if (comma) src[count++] = BYTE_COMMA; - System.arraycopy(bs1, 0, src, count, len1); - count += len1; - System.arraycopy(bs2, 0, src, count, len2); - count += len2; - return true; + return writeFieldIntValue(fieldArray, comma, value); } @Override