json
This commit is contained in:
@@ -457,37 +457,36 @@ public class JsonBytesWriter extends JsonWriter implements ByteTuple {
|
|||||||
}
|
}
|
||||||
for (int i = 0; i < len; i++) {
|
for (int i = 0; i < len; i++) {
|
||||||
char ch = value.charAt(i);
|
char ch = value.charAt(i);
|
||||||
|
if (ch < 14) {
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
case '\n':
|
case '\n': // 10
|
||||||
bytes[curr++] = '\\';
|
bytes[curr++] = '\\';
|
||||||
bytes[curr++] = 'n';
|
bytes[curr++] = 'n';
|
||||||
break;
|
break;
|
||||||
case '\r':
|
case '\r': // 13
|
||||||
bytes[curr++] = '\\';
|
bytes[curr++] = '\\';
|
||||||
bytes[curr++] = 'r';
|
bytes[curr++] = 'r';
|
||||||
break;
|
break;
|
||||||
case '\f':
|
case '\t': // 8
|
||||||
bytes[curr++] = '\\';
|
|
||||||
bytes[curr++] = 'f';
|
|
||||||
break;
|
|
||||||
case '\b':
|
|
||||||
bytes[curr++] = '\\';
|
|
||||||
bytes[curr++] = 'b';
|
|
||||||
break;
|
|
||||||
case '\t':
|
|
||||||
bytes[curr++] = '\\';
|
bytes[curr++] = '\\';
|
||||||
bytes[curr++] = 't';
|
bytes[curr++] = 't';
|
||||||
break;
|
break;
|
||||||
case '\\':
|
case '\f': // 12
|
||||||
bytes[curr++] = '\\';
|
|
||||||
bytes[curr++] = '\\';
|
bytes[curr++] = '\\';
|
||||||
|
bytes[curr++] = 'f';
|
||||||
break;
|
break;
|
||||||
case BYTE_DQUOTE:
|
case '\b': // 9
|
||||||
bytes[curr++] = '\\';
|
bytes[curr++] = '\\';
|
||||||
bytes[curr++] = BYTE_DQUOTE;
|
bytes[curr++] = 'b';
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (ch < 0x80) {
|
bytes[curr++] = (byte) ch;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else if (ch == '"' || ch == '\\') {
|
||||||
|
bytes[curr++] = '\\';
|
||||||
|
bytes[curr++] = (byte) ch;
|
||||||
|
} else if (ch < 0x80) {
|
||||||
bytes[curr++] = (byte) ch;
|
bytes[curr++] = (byte) ch;
|
||||||
} else if (ch < 0x800) {
|
} else if (ch < 0x800) {
|
||||||
bytes[curr++] = (byte) (0xc0 | (ch >> 6));
|
bytes[curr++] = (byte) (0xc0 | (ch >> 6));
|
||||||
@@ -503,8 +502,6 @@ public class JsonBytesWriter extends JsonWriter implements ByteTuple {
|
|||||||
bytes[curr++] = (byte) (0x80 | ((ch >> 6) & 0x3f));
|
bytes[curr++] = (byte) (0x80 | ((ch >> 6) & 0x3f));
|
||||||
bytes[curr++] = (byte) (0x80 | (ch & 0x3f));
|
bytes[curr++] = (byte) (0x80 | (ch & 0x3f));
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (quote) {
|
if (quote) {
|
||||||
bytes[curr++] = BYTE_DQUOTE;
|
bytes[curr++] = BYTE_DQUOTE;
|
||||||
|
|||||||
@@ -388,39 +388,38 @@ public class JsonCharsWriter extends JsonWriter {
|
|||||||
}
|
}
|
||||||
for (int i = 0; i < len; i++) {
|
for (int i = 0; i < len; i++) {
|
||||||
char ch = str.charAt(i);
|
char ch = str.charAt(i);
|
||||||
|
if (ch < 14) {
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
case '\n':
|
case '\n': // 10
|
||||||
chars[curr++] = '\\';
|
chars[curr++] = '\\';
|
||||||
chars[curr++] = 'n';
|
chars[curr++] = 'n';
|
||||||
break;
|
break;
|
||||||
case '\r':
|
case '\r': // 13
|
||||||
chars[curr++] = '\\';
|
chars[curr++] = '\\';
|
||||||
chars[curr++] = 'r';
|
chars[curr++] = 'r';
|
||||||
break;
|
break;
|
||||||
case '\f':
|
case '\t': // 8
|
||||||
chars[curr++] = '\\';
|
|
||||||
chars[curr++] = 'f';
|
|
||||||
break;
|
|
||||||
case '\b':
|
|
||||||
chars[curr++] = '\\';
|
|
||||||
chars[curr++] = 'b';
|
|
||||||
break;
|
|
||||||
case '\t':
|
|
||||||
chars[curr++] = '\\';
|
chars[curr++] = '\\';
|
||||||
chars[curr++] = 't';
|
chars[curr++] = 't';
|
||||||
break;
|
break;
|
||||||
case '\\':
|
case '\f': // 12
|
||||||
chars[curr++] = '\\';
|
chars[curr++] = '\\';
|
||||||
chars[curr++] = ch;
|
chars[curr++] = 'f';
|
||||||
break;
|
break;
|
||||||
case '"':
|
case '\b': // 9
|
||||||
chars[curr++] = '\\';
|
chars[curr++] = '\\';
|
||||||
chars[curr++] = ch;
|
chars[curr++] = 'b';
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
chars[curr++] = ch;
|
chars[curr++] = ch;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
} else if (ch == '"' || ch == '\\') {
|
||||||
|
chars[curr++] = '\\';
|
||||||
|
chars[curr++] = ch;
|
||||||
|
} else {
|
||||||
|
chars[curr++] = ch;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (quote) {
|
if (quote) {
|
||||||
chars[curr++] = BYTE_DQUOTE;
|
chars[curr++] = BYTE_DQUOTE;
|
||||||
@@ -441,39 +440,38 @@ public class JsonCharsWriter extends JsonWriter {
|
|||||||
b1 = bytes[i];
|
b1 = bytes[i];
|
||||||
b2 = bytes[i + 1];
|
b2 = bytes[i + 1];
|
||||||
char ch = (char) ((b2 == 0 && b1 >= 0) ? b1 : ((b1 & 0xff) | ((b2 & 0xff) << 8)));
|
char ch = (char) ((b2 == 0 && b1 >= 0) ? b1 : ((b1 & 0xff) | ((b2 & 0xff) << 8)));
|
||||||
|
if (ch < 14) {
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
case '\n':
|
case '\n': // 10
|
||||||
chars[curr++] = '\\';
|
chars[curr++] = '\\';
|
||||||
chars[curr++] = 'n';
|
chars[curr++] = 'n';
|
||||||
break;
|
break;
|
||||||
case '\r':
|
case '\r': // 13
|
||||||
chars[curr++] = '\\';
|
chars[curr++] = '\\';
|
||||||
chars[curr++] = 'r';
|
chars[curr++] = 'r';
|
||||||
break;
|
break;
|
||||||
case '\f':
|
case '\t': // 8
|
||||||
chars[curr++] = '\\';
|
|
||||||
chars[curr++] = 'f';
|
|
||||||
break;
|
|
||||||
case '\b':
|
|
||||||
chars[curr++] = '\\';
|
|
||||||
chars[curr++] = 'b';
|
|
||||||
break;
|
|
||||||
case '\t':
|
|
||||||
chars[curr++] = '\\';
|
chars[curr++] = '\\';
|
||||||
chars[curr++] = 't';
|
chars[curr++] = 't';
|
||||||
break;
|
break;
|
||||||
case '\\':
|
case '\f': // 12
|
||||||
chars[curr++] = '\\';
|
chars[curr++] = '\\';
|
||||||
chars[curr++] = ch;
|
chars[curr++] = 'f';
|
||||||
break;
|
break;
|
||||||
case '"':
|
case '\b': // 9
|
||||||
chars[curr++] = '\\';
|
chars[curr++] = '\\';
|
||||||
chars[curr++] = ch;
|
chars[curr++] = 'b';
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
chars[curr++] = ch;
|
chars[curr++] = ch;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
} else if (ch == '"' || ch == '\\') {
|
||||||
|
chars[curr++] = '\\';
|
||||||
|
chars[curr++] = ch;
|
||||||
|
} else {
|
||||||
|
chars[curr++] = ch;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (quote) {
|
if (quote) {
|
||||||
chars[curr++] = BYTE_DQUOTE;
|
chars[curr++] = BYTE_DQUOTE;
|
||||||
@@ -494,22 +492,22 @@ public class JsonCharsWriter extends JsonWriter {
|
|||||||
} else if (b == '\\') {
|
} else if (b == '\\') {
|
||||||
chars[curr++] = '\\';
|
chars[curr++] = '\\';
|
||||||
chars[curr++] = '\\';
|
chars[curr++] = '\\';
|
||||||
} else if (b < 32) {
|
} else if (b < 14) {
|
||||||
if (b == '\n') {
|
if (b == '\n') { // 10
|
||||||
chars[curr++] = '\\';
|
chars[curr++] = '\\';
|
||||||
chars[curr++] = 'n';
|
chars[curr++] = 'n';
|
||||||
} else if (b == '\r') {
|
} else if (b == '\r') { // 13
|
||||||
chars[curr++] = '\\';
|
chars[curr++] = '\\';
|
||||||
chars[curr++] = 'r';
|
chars[curr++] = 'r';
|
||||||
} else if (b == '\f') {
|
} else if (b == '\t') { // 8
|
||||||
chars[curr++] = '\\';
|
|
||||||
chars[curr++] = 'f';
|
|
||||||
} else if (b == '\b') {
|
|
||||||
chars[curr++] = '\\';
|
|
||||||
chars[curr++] = 'b';
|
|
||||||
} else if (b == '\t') {
|
|
||||||
chars[curr++] = '\\';
|
chars[curr++] = '\\';
|
||||||
chars[curr++] = 't';
|
chars[curr++] = 't';
|
||||||
|
} else if (b == '\f') { // 12
|
||||||
|
chars[curr++] = '\\';
|
||||||
|
chars[curr++] = 'f';
|
||||||
|
} else if (b == '\b') { // 9
|
||||||
|
chars[curr++] = '\\';
|
||||||
|
chars[curr++] = 'b';
|
||||||
} else {
|
} else {
|
||||||
chars[curr++] = (char) b;
|
chars[curr++] = (char) b;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user