本文整理汇总了Java中com.alibaba.fastjson.parser.DefaultJSONParser.accept方法的典型用法代码示例。如果您正苦于以下问题:Java DefaultJSONParser.accept方法的具体用法?Java DefaultJSONParser.accept怎么用?Java DefaultJSONParser.accept使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.alibaba.fastjson.parser.DefaultJSONParser
的用法示例。
在下文中一共展示了DefaultJSONParser.accept方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: parseArray
import com.alibaba.fastjson.parser.DefaultJSONParser; //导入方法依赖的package包/类
public static void parseArray(Collection collection, ObjectDeserializer deser, DefaultJSONParser parser, Type type, Object fieldName) {
JSONLexer lexer = parser.getLexer();
if (lexer.token() == 8) {
lexer.nextToken(16);
}
parser.accept(14, 14);
int index = 0;
while (true) {
collection.add(deser.deserialze(parser, type, Integer.valueOf(index)));
index++;
if (lexer.token() == 16) {
lexer.nextToken(14);
} else {
parser.accept(15, 16);
return;
}
}
}
示例2: parseRef
import com.alibaba.fastjson.parser.DefaultJSONParser; //导入方法依赖的package包/类
private Object parseRef(DefaultJSONParser parser, Object fieldName) {
JSONLexer lexer = parser.getLexer();
lexer.nextTokenWithColon(JSONToken.LITERAL_STRING);
String ref = lexer.stringVal();
parser.setContext(parser.getContext(), fieldName);
parser.addResolveTask(new DefaultJSONParser.ResolveTask(parser.getContext(), ref));
parser.popContext();
parser.setResolveStatus(DefaultJSONParser.NeedToResolve);
lexer.nextToken(JSONToken.RBRACE);
parser.accept(JSONToken.RBRACE);
return null;
}
示例3: deserialze
import com.alibaba.fastjson.parser.DefaultJSONParser; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
JSONLexer lexer = parser.getLexer();
parser.accept(JSONToken.LBRACKET, JSONToken.LBRACKET);
Media media = mediaDeser.deserialze(parser, Media.class, "media");
parser.accept(JSONToken.COMMA, JSONToken.LBRACKET);
parser.accept(JSONToken.LBRACKET, JSONToken.LBRACKET);
List<Image> images = new ArrayList<Image>();
int index = 0;
for (;;) {
Image image = imageDesc.deserialze(parser, Image.class, index);
images.add(image);
index++;
if (lexer.token() == JSONToken.COMMA) {
lexer.nextToken(JSONToken.LBRACKET);
} else {
break;
}
}
parser.accept(JSONToken.RBRACKET, JSONToken.RBRACKET);
parser.accept(JSONToken.RBRACKET, JSONToken.EOF);
MediaContent content = new MediaContent();
content.setMedia(media);
content.setImages(images);
return (T) content;
}
示例4: test_error_2
import com.alibaba.fastjson.parser.DefaultJSONParser; //导入方法依赖的package包/类
public void test_error_2() throws Exception {
DefaultJSONParser parser = new DefaultJSONParser("{}");
Exception error = null;
try {
parser.accept(JSONToken.NULL);
} catch (Exception ex) {
error = ex;
}
Assert.assertNotNull(error);
}
示例5: parseArray
import com.alibaba.fastjson.parser.DefaultJSONParser; //导入方法依赖的package包/类
@SuppressWarnings({ "unchecked", "rawtypes" })
public static void parseArray(Collection collection, //
ObjectDeserializer deser, //
DefaultJSONParser parser, //
Type type, //
Object fieldName) {
final JSONLexer lexer = parser.getLexer();
if (lexer.token() == JSONToken.NULL) {
lexer.nextToken(JSONToken.COMMA);
}
parser.accept(JSONToken.LBRACKET, JSONToken.LBRACKET);
int index = 0;
for (;;) {
Object item = deser.deserialze(parser, type, index);
collection.add(item);
index++;
if (lexer.token() == JSONToken.COMMA) {
lexer.nextToken(JSONToken.LBRACKET);
} else {
break;
}
}
parser.accept(JSONToken.RBRACKET, JSONToken.COMMA);
}
示例6: deserialze
import com.alibaba.fastjson.parser.DefaultJSONParser; //导入方法依赖的package包/类
public <T> T deserialze(DefaultJSONParser parser, Type clazz, Object fieldName) {
Long val;
JSONLexer lexer = parser.getLexer();
if (lexer.token() == 2) {
val = Long.valueOf(lexer.longValue());
lexer.nextToken(16);
} else if (lexer.token() == 4) {
String strVal = lexer.stringVal();
val = strVal;
lexer.nextToken(16);
if (lexer.isEnabled(Feature.AllowISO8601DateFormat)) {
JSONScanner iso8601Lexer = new JSONScanner(strVal);
if (iso8601Lexer.scanISO8601DateIfMatch()) {
val = iso8601Lexer.getCalendar().getTime();
}
iso8601Lexer.close();
}
} else if (lexer.token() == 8) {
lexer.nextToken();
val = null;
} else if (lexer.token() == 12) {
lexer.nextToken();
if (lexer.token() == 4) {
if (JSON.DEFAULT_TYPE_KEY.equals(lexer.stringVal())) {
lexer.nextToken();
parser.accept(17);
Class<?> type = TypeUtils.loadClass(lexer.stringVal());
if (type != null) {
clazz = type;
}
parser.accept(4);
parser.accept(16);
}
lexer.nextTokenWithColon(2);
if (lexer.token() == 2) {
long timeMillis = lexer.longValue();
lexer.nextToken();
val = Long.valueOf(timeMillis);
parser.accept(13);
} else {
throw new JSONException("syntax error : " + lexer.tokenName());
}
}
throw new JSONException("syntax error");
} else if (parser.getResolveStatus() == 2) {
parser.setResolveStatus(0);
parser.accept(16);
if (lexer.token() != 4) {
throw new JSONException("syntax error");
} else if ("val".equals(lexer.stringVal())) {
lexer.nextToken();
parser.accept(17);
val = parser.parse();
parser.accept(13);
} else {
throw new JSONException("syntax error");
}
} else {
val = parser.parse();
}
return cast(parser, clazz, fieldName, val);
}
示例7: deserialze
import com.alibaba.fastjson.parser.DefaultJSONParser; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
public <T> T deserialze(DefaultJSONParser parser, Type clazz, Object fieldName) {
JSONLexer lexer = parser.getLexer();
if (lexer.token() == JSONToken.NULL) {
lexer.nextToken();
return null;
}
parser.accept(JSONToken.LBRACE);
InetAddress address = null;
int port = 0;
for (;;) {
String key = lexer.stringVal();
lexer.nextToken(JSONToken.COLON);
if (key.equals("address")) {
parser.accept(JSONToken.COLON);
address = parser.parseObject(InetAddress.class);
} else if (key.equals("port")) {
parser.accept(JSONToken.COLON);
if (lexer.token() != JSONToken.LITERAL_INT) {
throw new JSONException("port is not int");
}
port = lexer.intValue();
lexer.nextToken();
} else {
parser.accept(JSONToken.COLON);
parser.parse();
}
if (lexer.token() == JSONToken.COMMA) {
lexer.nextToken();
continue;
}
break;
}
parser.accept(JSONToken.RBRACE);
return (T) new InetSocketAddress(address, port);
}