diff --git a/src/main/java/org/redkale/convert/json/JsonByteBufferWriter.java b/src/main/java/org/redkale/convert/json/JsonByteBufferWriter.java
index 455ca94c3..c5418d1eb 100644
--- a/src/main/java/org/redkale/convert/json/JsonByteBufferWriter.java
+++ b/src/main/java/org/redkale/convert/json/JsonByteBufferWriter.java
@@ -9,7 +9,6 @@ import java.nio.*;
import java.nio.charset.Charset;
import java.util.Objects;
import java.util.function.Supplier;
-import org.redkale.convert.ConvertException;
import org.redkale.convert.Encodeable;
import org.redkale.util.*;
@@ -113,20 +112,6 @@ public class JsonByteBufferWriter extends JsonWriter {
return size;
}
- @Override
- public void writeTo(final char ch) {
- if (ch > Byte.MAX_VALUE) {
- throw new ConvertException("writeTo char(int.value = " + (int) ch + ") must be less 127");
- }
- expand(1);
- this.buffers[currBufIndex].put((byte) ch);
- }
-
- @Override
- public void writeTo(final char[] chs, final int start, final int len) {
- writeTo(-1, false, chs, start, len);
- }
-
@Override
public void writeTo(final byte ch) { // 只能是 0 - 127 的字符
expand(1);
diff --git a/src/main/java/org/redkale/convert/json/JsonBytesWriter.java b/src/main/java/org/redkale/convert/json/JsonBytesWriter.java
index 96514a3f0..e9f6e2d80 100644
--- a/src/main/java/org/redkale/convert/json/JsonBytesWriter.java
+++ b/src/main/java/org/redkale/convert/json/JsonBytesWriter.java
@@ -129,21 +129,6 @@ public class JsonBytesWriter extends JsonWriter implements ByteTuple {
}
}
- @Override
- public void writeTo(final char ch) { // 只能是 0 - 127 的字符
- expand(1);
- content[count++] = (byte) ch;
- }
-
- @Override
- public void writeTo(final char[] chs, final int start, final int len) { // 只能是 0 - 127 的字符
- expand(len);
- for (int i = 0; i < len; i++) {
- content[count + i] = (byte) chs[start + i];
- }
- count += len;
- }
-
@Override
public void writeTo(final byte ch) { // 只能是 0 - 127 的字符
expand(1);
diff --git a/src/main/java/org/redkale/convert/json/JsonCharsWriter.java b/src/main/java/org/redkale/convert/json/JsonCharsWriter.java
index 6f83d5dfd..2e1093e2b 100644
--- a/src/main/java/org/redkale/convert/json/JsonCharsWriter.java
+++ b/src/main/java/org/redkale/convert/json/JsonCharsWriter.java
@@ -4,7 +4,10 @@
*/
package org.redkale.convert.json;
+import java.lang.reflect.Type;
+import org.redkale.convert.EnMember;
import org.redkale.convert.Encodeable;
+import static org.redkale.convert.json.JsonWriter.BYTE_COLON;
import static org.redkale.convert.json.JsonWriter.BYTE_COMMA;
import static org.redkale.convert.json.JsonWriter.BYTE_DQUOTE;
import static org.redkale.convert.json.JsonWriter.DEFAULT_SIZE;
@@ -87,13 +90,11 @@ public class JsonCharsWriter extends JsonWriter {
return true;
}
- @Override
public void writeTo(final char ch) { // 只能是 0 - 127 的字符
expand(1);
content[count++] = ch;
}
- @Override
public void writeTo(final char[] chs, final int start, final int len) { // 只能是 0 - 127 的字符
expand(len);
System.arraycopy(chs, start, content, count, len);
@@ -115,6 +116,19 @@ public class JsonCharsWriter extends JsonWriter {
count += len;
}
+ @Override // 只容许JsonBytesWriter重写此方法
+ public final void writeField(EnMember member, String fieldName, Type fieldType, int fieldPos) {
+ if (this.comma) {
+ writeTo(BYTE_COMMA);
+ }
+ if (member != null) {
+ writeTo(member.getJsonFieldNameChars());
+ } else {
+ writeLatin1To(true, fieldName);
+ writeTo(BYTE_COLON);
+ }
+ }
+
/**
* 注意: 该String值不能为null且不会进行转义, 只用于不含需要转义字符的字符串,例如enum、double、BigInteger、BigDecimal转换的String
*
@@ -305,6 +319,10 @@ public class JsonCharsWriter extends JsonWriter {
return this.count;
}
+ public final void writeTo(final char... cs) { // 只能是 0 - 127 的字符
+ writeTo(cs, 0, cs.length);
+ }
+
@Override
public final void writeNull() {
writeTo(CHARS_NULL);
diff --git a/src/main/java/org/redkale/convert/json/JsonStreamWriter.java b/src/main/java/org/redkale/convert/json/JsonStreamWriter.java
index f0b490327..f9839de97 100644
--- a/src/main/java/org/redkale/convert/json/JsonStreamWriter.java
+++ b/src/main/java/org/redkale/convert/json/JsonStreamWriter.java
@@ -45,18 +45,6 @@ class JsonStreamWriter extends JsonByteBufferWriter {
}
}
- @Override
- public void writeTo(final char ch) {
- if (ch > Byte.MAX_VALUE) {
- throw new ConvertException("writeTo char(int.value = " + (int) ch + ") must be less 127");
- }
- try {
- out.write((byte) ch);
- } catch (IOException e) {
- throw new ConvertException(e);
- }
- }
-
@Override
public void writeTo(final byte[] bs, final int start, final int len) { // 只能是 0 - 127 的字符
try {
@@ -66,11 +54,6 @@ class JsonStreamWriter extends JsonByteBufferWriter {
}
}
- @Override
- public void writeTo(final char[] chs, final int start, final int len) {
- writeTo(false, chs, start, len);
- }
-
private void writeTo(final boolean quote, final char[] chs, final int start, final int len) {
try {
if (quote) {
diff --git a/src/main/java/org/redkale/convert/json/JsonWriter.java b/src/main/java/org/redkale/convert/json/JsonWriter.java
index 449fc09f6..c3f560781 100644
--- a/src/main/java/org/redkale/convert/json/JsonWriter.java
+++ b/src/main/java/org/redkale/convert/json/JsonWriter.java
@@ -57,10 +57,6 @@ public abstract class JsonWriter extends Writer {
}
// -----------------------------------------------------------------------
- public abstract void writeTo(final char ch); // 只能是 0 - 127 的字符
-
- public abstract void writeTo(final char[] cs, final int start, final int len); // 只能是 0 - 127 的字符
-
public abstract void writeTo(final byte ch); // 只能是 0 - 127 的字符
public abstract void writeTo(final byte[] bs, final int start, final int len); // 只能是 0 - 127 的字符
@@ -252,18 +248,13 @@ public abstract class JsonWriter extends Writer {
writeLatin1To(true, value);
}
- @Override // 只容许JsonBytesWriter重写此方法
+ @Override // 只容许JsonCharsWriter重写此方法
public void writeField(EnMember member, String fieldName, Type fieldType, int fieldPos) {
if (this.comma) {
writeTo(BYTE_COMMA);
}
if (member != null) {
- if (charsMode()) {
- char[] chs = member.getJsonFieldNameChars();
- writeTo(chs, 0, chs.length);
- } else {
- writeTo(member.getJsonFieldNameBytes());
- }
+ writeTo(member.getJsonFieldNameBytes());
} else {
writeLatin1To(true, fieldName);
writeTo(BYTE_COLON);
@@ -271,9 +262,6 @@ public abstract class JsonWriter extends Writer {
}
// ----------------------------------------------------------------------------------------------
- public final void writeTo(final char... cs) { // 只能是 0 - 127 的字符
- writeTo(cs, 0, cs.length);
- }
public final void writeTo(final byte[] bs) { // 只能是 0 - 127 的字符
writeTo(bs, 0, bs.length);
diff --git a/src/test/java/org/redkale/test/convert/json/_DyncFortuneJsonEncoder.java b/src/test/java/org/redkale/test/convert/json/_DyncFortuneJsonEncoder.java
index 3bca5d649..b0fecdca9 100644
--- a/src/test/java/org/redkale/test/convert/json/_DyncFortuneJsonEncoder.java
+++ b/src/test/java/org/redkale/test/convert/json/_DyncFortuneJsonEncoder.java
@@ -30,12 +30,12 @@ public class _DyncFortuneJsonEncoder extends JsonDynEncoder {
objectEncoderSelf.convertTo(out, value);
return;
}
- out.writeTo('{');
+ out.writeTo((byte) '{');
if (out.charsMode()) {
out.writeFieldIntValue(idFieldChars, false, value.getId());
} else {
out.writeFieldIntValue(idFieldBytes, false, value.getId());
}
- out.writeTo('}');
+ out.writeTo((byte) '}');
}
}
diff --git a/src/test/java/org/redkale/test/convert/json/_DyncMessageJsonEncoder.java b/src/test/java/org/redkale/test/convert/json/_DyncMessageJsonEncoder.java
index 4e1568a62..f1271701e 100644
--- a/src/test/java/org/redkale/test/convert/json/_DyncMessageJsonEncoder.java
+++ b/src/test/java/org/redkale/test/convert/json/_DyncMessageJsonEncoder.java
@@ -30,12 +30,12 @@ public class _DyncMessageJsonEncoder extends JsonDynEncoder {
objectEncoderSelf.convertTo(out, value);
return;
}
- out.writeTo('{');
+ out.writeTo((byte) '{');
if (out.charsMode()) {
out.writeFieldStandardStringValue(messageFieldChars, false, value.getMessage());
} else {
out.writeFieldStandardStringValue(messageFieldBytes, false, value.getMessage());
}
- out.writeTo('}');
+ out.writeTo((byte) '}');
}
}
diff --git a/src/test/java/org/redkale/test/convert/json/_DyncUserJsonEncoder.java b/src/test/java/org/redkale/test/convert/json/_DyncUserJsonEncoder.java
index 8fa4f99aa..490a102b0 100644
--- a/src/test/java/org/redkale/test/convert/json/_DyncUserJsonEncoder.java
+++ b/src/test/java/org/redkale/test/convert/json/_DyncUserJsonEncoder.java
@@ -44,7 +44,7 @@ public class _DyncUserJsonEncoder extends JsonDynEncoder {
this.objectEncoderSelf.convertTo(out, value);
return;
}
- out.writeTo('{');
+ out.writeTo((byte) '{');
boolean comma = false;
if (out.charsMode()) {
comma = out.writeFieldIntValue(ageFieldChars, comma, value.getAge());
@@ -63,6 +63,6 @@ public class _DyncUserJsonEncoder extends JsonDynEncoder {
comma = out.writeFieldStringValue(sexFieldBytes, comma, value.getSex());
out.writeFieldStringValue(nickNameFieldBytes, comma, value.getNickName());
}
- out.writeTo('}');
+ out.writeTo((byte) '}');
}
}
diff --git a/src/test/java/org/redkale/test/convert/json/_DyncWorldJsonEncoder.java b/src/test/java/org/redkale/test/convert/json/_DyncWorldJsonEncoder.java
index 293e27ffb..0e3516e57 100644
--- a/src/test/java/org/redkale/test/convert/json/_DyncWorldJsonEncoder.java
+++ b/src/test/java/org/redkale/test/convert/json/_DyncWorldJsonEncoder.java
@@ -32,7 +32,7 @@ public class _DyncWorldJsonEncoder extends JsonDynEncoder {
return;
}
- out.writeTo('{');
+ out.writeTo((byte) '{');
boolean comma = false;
if (out.charsMode()) {
comma = out.writeFieldIntValue(idFieldChars, comma, value.getId());
@@ -41,6 +41,6 @@ public class _DyncWorldJsonEncoder extends JsonDynEncoder {
comma = out.writeFieldIntValue(idFieldBytes, comma, value.getId());
out.writeFieldIntValue(randomNumberFieldBytes, comma, value.getRandomNumber());
}
- out.writeTo('}');
+ out.writeTo((byte) '}');
}
}