json
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <b>注意:</b> 该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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user