public void test_string3() throws Exception {
StringBuilder buf = new StringBuilder();
buf.append('"');
for (int i = 0; i < 200; ++i) {
buf.append("abcdefghijklmn012345689ABCDEFG");
}
buf.append('"');
String text = buf.toString();
JSONScanner lexer = new JSONScanner(text.toCharArray(), text.length());
lexer.nextToken();
Assert.assertEquals(0, lexer.pos());
lexer.stringVal();
}
java类com.alibaba.fastjson.parser.JSONScanner的实例源码
LexerTest.java 文件源码
项目:GitHub
阅读 32
收藏 0
点赞 0
评论 0
JSONScannerTest_singQuoteString.java 文件源码
项目:GitHub
阅读 27
收藏 0
点赞 0
评论 0
public void test_string2() throws Exception {
StringBuilder buf = new StringBuilder();
buf.append('\'');
for (int i = 0; i < 200; ++i) {
buf.append("\\\\\\/\\b\\f\\n\\r\\t\\u" + Integer.toHexString('中'));
}
buf.append('\'');
String text = buf.toString();
JSONScanner lexer = new JSONScanner(text.toCharArray(), text.length());
lexer.config(Feature.AllowSingleQuotes, true);
lexer.nextToken();
Assert.assertEquals(0, lexer.pos());
String stringVal = lexer.stringVal();
// Assert.assertEquals("\"\\\\\\/\\b\\f\\n\\r\\t中\"",
// JSON.toJSONString(stringVal));
JSON.toJSONString(stringVal);
}
JSONReaderTest_object_long.java 文件源码
项目:GitHub
阅读 32
收藏 0
点赞 0
评论 0
public void test_read_1() throws Exception {
JSONReader reader = new JSONReader(new JSONScanner(text));
reader.startObject();
int count = 0;
while (reader.hasNext()) {
String key = (String) reader.readObject();
Long value = reader.readLong();
count++;
}
Assert.assertEquals(10, count);
reader.endObject();
reader.close();
}
JSONScannerTest_singQuoteString.java 文件源码
项目:GitHub
阅读 30
收藏 0
点赞 0
评论 0
public void test_string4() throws Exception {
StringBuilder buf = new StringBuilder();
buf.append('\'');
for (int i = 0; i < 200; ++i) {
buf.append("\\tabcdefghijklmn012345689ABCDEFG");
}
buf.append('\'');
String text = buf.toString();
JSONScanner lexer = new JSONScanner(text.toCharArray(), text.length());
lexer.config(Feature.AllowSingleQuotes, true);
lexer.nextToken();
Assert.assertEquals(0, lexer.pos());
String stringVal = lexer.stringVal();
// Assert.assertEquals("\"\\\\\\/\\b\\f\\n\\r\\t中\"",
// JSON.toJSONString(stringVal));
JSON.toJSONString(stringVal);
}
JSONReaderTest_array_object.java 文件源码
项目:GitHub
阅读 29
收藏 0
点赞 0
评论 0
public void test_read_3() throws Exception {
JSONReader reader = new JSONReader(new JSONScanner(text));
reader.startArray();
Assert.assertTrue(reader.hasNext());
reader.startObject();
reader.endObject();
Assert.assertTrue(reader.hasNext());
reader.startObject();
reader.endObject();
int count = 2;
while (reader.hasNext()) {
reader.startObject();
reader.endObject();
count++;
}
Assert.assertEquals(10, count);
reader.endArray();
reader.close();
}
TypeUtils.java 文件源码
项目:GitHub
阅读 32
收藏 0
点赞 0
评论 0
public static java.sql.Date castToSqlDate(Object value){
if(value == null){
return null;
}
if(value instanceof java.sql.Date){
return (java.sql.Date) value;
}
if(value instanceof java.util.Date){
return new java.sql.Date(((java.util.Date) value).getTime());
}
if(value instanceof Calendar){
return new java.sql.Date(((Calendar) value).getTimeInMillis());
}
long longValue = 0;
if(value instanceof Number){
longValue = ((Number) value).longValue();
}
if(value instanceof String){
String strVal = (String) value;
if(strVal.length() == 0 //
|| "null".equals(strVal) //
|| "NULL".equals(strVal)){
return null;
}
if(isNumber(strVal)){
longValue = Long.parseLong(strVal);
} else{
JSONScanner scanner = new JSONScanner(strVal);
if(scanner.scanISO8601DateIfMatch(false)){
longValue = scanner.getCalendar().getTime().getTime();
} else{
throw new JSONException("can not cast to Timestamp, value : " + strVal);
}
}
}
if(longValue <= 0){
throw new JSONException("can not cast to Date, value : " + value); // TODO 忽略 1970-01-01 之前的时间处理?
}
return new java.sql.Date(longValue);
}
JSONScannerTest_symbol.java 文件源码
项目:GitHub
阅读 28
收藏 0
点赞 0
评论 0
public void test_0() throws Exception {
SymbolTable symbolTable = new SymbolTable(512);
JSONScanner lexer = new JSONScanner("\"name\"");
String symbol = lexer.scanSymbol(symbolTable, '"');
Assert.assertTrue("name".equals(symbol));
lexer.close();
}
JSONScannerTest_symbol.java 文件源码
项目:GitHub
阅读 32
收藏 0
点赞 0
评论 0
public void test_1() throws Exception {
SymbolTable symbolTable = new SymbolTable(512);
JSONScanner lexer = new JSONScanner("\"nick name\"");
String symbol = lexer.scanSymbol(symbolTable, '"');
Assert.assertTrue("nick name".equals(symbol));
lexer.close();
}
JSONScannerTest_symbol.java 文件源码
项目:GitHub
阅读 36
收藏 0
点赞 0
评论 0
public void test_5() throws Exception {
SymbolTable symbolTable = new SymbolTable(512);
JSONScanner lexer = new JSONScanner("\"nick \\bname\"");
String symbol = lexer.scanSymbol(symbolTable, '"');
Assert.assertTrue("nick \bname" == symbol);
lexer.close();
}
JSONScannerTest_symbol.java 文件源码
项目:GitHub
阅读 30
收藏 0
点赞 0
评论 0
public void test_6() throws Exception {
SymbolTable symbolTable = new SymbolTable(512);
JSONScanner lexer = new JSONScanner("\"nick \\f name\"");
String symbol = lexer.scanSymbol(symbolTable, '"');
Assert.assertTrue("nick \f name" == symbol);
lexer.close();
}
LexerTest.java 文件源码
项目:GitHub
阅读 32
收藏 0
点赞 0
评论 0
public void test_float() throws Exception {
String text = "123456789.0123";
JSONScanner lexer = new JSONScanner(text);
lexer.nextToken();
BigDecimal decimalValue = lexer.decimalValue();
Assert.assertEquals(new BigDecimal("123456789.0123"), decimalValue);
}
JSONScannerTest_symbol.java 文件源码
项目:GitHub
阅读 32
收藏 0
点赞 0
评论 0
public void test_10() throws Exception {
SymbolTable symbolTable = new SymbolTable(512);
JSONScanner lexer = new JSONScanner("\"nick \\t name\"");
String symbol = lexer.scanSymbol(symbolTable, '"');
Assert.assertTrue("nick \t name" == symbol);
lexer.close();
}
JSONScannerTest_symbol.java 文件源码
项目:GitHub
阅读 38
收藏 0
点赞 0
评论 0
public void test_11() throws Exception {
SymbolTable symbolTable = new SymbolTable(512);
JSONScanner lexer = new JSONScanner("\"nick \\u4e2d name\"");
String symbol = lexer.scanSymbol(symbolTable, '"');
Assert.assertTrue("nick 中 name" == symbol);
lexer.close();
}
Issue119.java 文件源码
项目:GitHub
阅读 29
收藏 0
点赞 0
评论 0
public void test_for_issue_b() throws Exception {
JSONScanner lexer = new JSONScanner("-10B");
lexer.scanNumber();
Assert.assertEquals(Byte.class, lexer.integerValue().getClass());
Assert.assertEquals(-10, lexer.integerValue().byteValue());
lexer.close();
}
JSONScannerTest_symbol.java 文件源码
项目:GitHub
阅读 30
收藏 0
点赞 0
评论 0
public void test_error() throws Exception {
JSONException error = null;
try {
SymbolTable symbolTable = new SymbolTable(512);
JSONScanner lexer = new JSONScanner("\"nick \\a name\"");
lexer.scanSymbol(symbolTable, '"');
lexer.close();
} catch (JSONException e) {
error = e;
}
Assert.assertNotNull(error);
}
JSONScannerTest_symbol.java 文件源码
项目:GitHub
阅读 28
收藏 0
点赞 0
评论 0
public void test_error_2() throws Exception {
JSONException error = null;
try {
SymbolTable symbolTable = new SymbolTable(512);
JSONScanner lexer = new JSONScanner("\"name");
lexer.scanSymbol(symbolTable, '"');
lexer.close();
} catch (JSONException e) {
error = e;
}
Assert.assertNotNull(error);
}
JSONScannerTest_singQuoteString.java 文件源码
项目:GitHub
阅读 28
收藏 0
点赞 0
评论 0
public void test_error() throws Exception {
Exception error = null;
try {
JSONScanner lexer = new JSONScanner("'k");
lexer.config(Feature.AllowSingleQuotes, true);
lexer.nextToken();
} catch (JSONException ex) {
error = ex;
}
Assert.assertNotNull(error);
}
JSONScannerTest_int.java 文件源码
项目:GitHub
阅读 31
收藏 0
点赞 0
评论 0
public void test_error_1() {
Exception error = null;
try {
String text = Integer.MAX_VALUE + "1234";
JSONScanner lexer = new JSONScanner(text);
lexer.scanNumber();
lexer.intValue();
} catch (Exception ex) {
error = ex;
}
Assert.assertNotNull(error);
}
LexerTest.java 文件源码
项目:GitHub
阅读 34
收藏 0
点赞 0
评论 0
public void test_error1() throws Exception {
Exception error = null;
try {
JSONScanner lexer = new JSONScanner("\"\\k\"");
lexer.nextToken();
} catch (Exception ex) {
error = ex;
}
Assert.assertNotNull(error);
}
JSONScannerTest_true.java 文件源码
项目:GitHub
阅读 32
收藏 0
点赞 0
评论 0
public void test_scan_true_1() throws Exception {
JSONException error = null;
try {
JSONScanner lexer = new JSONScanner("frue");
lexer.scanTrue();
} catch (JSONException e) {
error = e;
}
Assert.assertNotNull(error);
}
JSONScannerTest_true.java 文件源码
项目:GitHub
阅读 26
收藏 0
点赞 0
评论 0
public void test_scan_true_2() throws Exception {
JSONException error = null;
try {
JSONScanner lexer = new JSONScanner("ttue");
lexer.scanTrue();
} catch (JSONException e) {
error = e;
}
Assert.assertNotNull(error);
}
JSONScannerTest_true.java 文件源码
项目:GitHub
阅读 31
收藏 0
点赞 0
评论 0
public void test_scan_true_3() throws Exception {
JSONException error = null;
try {
JSONScanner lexer = new JSONScanner("trze");
lexer.scanTrue();
} catch (JSONException e) {
error = e;
}
Assert.assertNotNull(error);
}
JSONScannerTest_true.java 文件源码
项目:GitHub
阅读 26
收藏 0
点赞 0
评论 0
public void test_scan_true_4() throws Exception {
JSONException error = null;
try {
JSONScanner lexer = new JSONScanner("truz");
lexer.scanTrue();
} catch (JSONException e) {
error = e;
}
Assert.assertNotNull(error);
}
JSONScannerTest_true.java 文件源码
项目:GitHub
阅读 33
收藏 0
点赞 0
评论 0
public void test_scan_true_5() throws Exception {
JSONException error = null;
try {
JSONScanner lexer = new JSONScanner("truee");
lexer.scanTrue();
} catch (JSONException e) {
error = e;
}
Assert.assertNotNull(error);
}
JSONScannerTest_new.java 文件源码
项目:GitHub
阅读 36
收藏 0
点赞 0
评论 0
public void test_scan_new_4() throws Exception {
JSONException error = null;
try {
JSONScanner lexer = new JSONScanner("neww");
lexer.scanNullOrNew();
} catch (JSONException e) {
error = e;
}
Assert.assertNotNull(error);
}
JSONScannerTest_null.java 文件源码
项目:GitHub
阅读 30
收藏 0
点赞 0
评论 0
public void test_scan_null_1() throws Exception {
JSONException error = null;
try {
JSONScanner lexer = new JSONScanner("zull");
lexer.scanNullOrNew();
} catch (JSONException e) {
error = e;
}
Assert.assertNotNull(error);
}
JSONScannerTest_null.java 文件源码
项目:GitHub
阅读 31
收藏 0
点赞 0
评论 0
public void test_scan_null_3() throws Exception {
JSONException error = null;
try {
JSONScanner lexer = new JSONScanner("nuzl");
lexer.scanNullOrNew();
} catch (JSONException e) {
error = e;
}
Assert.assertNotNull(error);
}
LexerTest.java 文件源码
项目:GitHub
阅读 31
收藏 0
点赞 0
评论 0
public void test_isWhitespace() throws Exception {
new JSONScanner("".toCharArray(), 0);
Assert.assertTrue(JSONScanner.isWhitespace(' '));
Assert.assertTrue(JSONScanner.isWhitespace('\b'));
Assert.assertTrue(JSONScanner.isWhitespace('\f'));
Assert.assertTrue(JSONScanner.isWhitespace('\n'));
Assert.assertTrue(JSONScanner.isWhitespace('\r'));
Assert.assertTrue(JSONScanner.isWhitespace('\t'));
Assert.assertFalse(JSONScanner.isWhitespace('k'));
}
JSONScannerTest_null.java 文件源码
项目:GitHub
阅读 26
收藏 0
点赞 0
评论 0
public void test_scan_null_5() throws Exception {
JSONException error = null;
try {
JSONScanner lexer = new JSONScanner("nulle");
lexer.scanNullOrNew();
} catch (JSONException e) {
error = e;
}
Assert.assertNotNull(error);
}
JSONScannerTest_null.java 文件源码
项目:GitHub
阅读 28
收藏 0
点赞 0
评论 0
public void test_scan_null_6() throws Exception {
JSONException error = null;
try {
JSONScanner lexer = new JSONScanner("null\"");
lexer.scanNullOrNew();
} catch (JSONException e) {
error = e;
}
Assert.assertNotNull(error);
}