本文整理了Java中com.alibaba.fastjson.parser.DefaultJSONParser.setContext()
方法的一些代码示例,展示了DefaultJSONParser.setContext()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。DefaultJSONParser.setContext()
方法的具体详情如下:
包路径:com.alibaba.fastjson.parser.DefaultJSONParser
类名称:DefaultJSONParser
方法名:setContext
暂无
代码示例来源:origin: com.alibaba/fastjson
public ParseContext setContext(Object object, Object fieldName) {
if (lexer.isEnabled(Feature.DisableCircularReferenceDetect)) {
return null;
}
return setContext(this.context, object, fieldName);
}
代码示例来源:origin: com.alibaba/fastjson
@SuppressWarnings("rawtypes")
@Override
public void parseField(DefaultJSONParser parser, Object object, Type objectType, Map<String, Object> fieldValues) {
JSONLexer lexer = parser.lexer;
final int token = lexer.token();
if (token == JSONToken.NULL
|| (token == JSONToken.LITERAL_STRING && lexer.stringVal().length() == 0)) {
setValue(object, null);
return;
}
ArrayList list = new ArrayList();
ParseContext context = parser.getContext();
parser.setContext(context, object, fieldInfo.name);
parseArray(parser, objectType, list);
parser.setContext(context);
if (object == null) {
fieldValues.put(fieldInfo.name, list);
} else {
setValue(object, list);
}
}
代码示例来源:origin: alibaba/fastjson
@SuppressWarnings("unchecked")
public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
JSONLexer lexer = parser.lexer;
if (lexer.token() == JSONToken.NULL) {
lexer.nextToken(JSONToken.COMMA);
return null;
}
if (lexer.token() != JSONToken.LBRACE && lexer.token() != JSONToken.COMMA) {
throw new JSONException("syntax error");
}
lexer.nextToken();
T obj;
if (type == Point.class) {
obj = (T) parsePoint(parser, fieldName);
} else if (type == Rectangle.class) {
obj = (T) parseRectangle(parser);
} else if (type == Color.class) {
obj = (T) parseColor(parser);
} else if (type == Font.class) {
obj = (T) parseFont(parser);
} else {
throw new JSONException("not support awt class : " + type);
}
ParseContext context = parser.getContext();
parser.setContext(obj, fieldName);
parser.setContext(context);
return obj;
}
代码示例来源:origin: alibaba/fastjson
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;
}
代码示例来源:origin: com.alibaba/fastjson
@SuppressWarnings("unchecked")
public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
if (type == JSONObject.class && parser.getFieldTypeResolver() == null) {
return (T) parser.parseObject();
}
final JSONLexer lexer = parser.lexer;
if (lexer.token() == JSONToken.NULL) {
lexer.nextToken(JSONToken.COMMA);
return null;
}
Map<Object, Object> map = (lexer.getFeatures() & Feature.OrderedField.mask) != 0
? createMap(type, lexer.getFeatures())
: createMap(type);
ParseContext context = parser.getContext();
try {
parser.setContext(context, map, fieldName);
return (T) deserialze(parser, type, fieldName, map);
} finally {
parser.setContext(context);
}
}
代码示例来源:origin: com.alibaba/fastjson
@SuppressWarnings("unchecked")
public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
JSONLexer lexer = parser.lexer;
if (lexer.token() == JSONToken.NULL) {
lexer.nextToken(JSONToken.COMMA);
return null;
}
if (lexer.token() != JSONToken.LBRACE && lexer.token() != JSONToken.COMMA) {
throw new JSONException("syntax error");
}
lexer.nextToken();
T obj;
if (type == Point.class) {
obj = (T) parsePoint(parser, fieldName);
} else if (type == Rectangle.class) {
obj = (T) parseRectangle(parser);
} else if (type == Color.class) {
obj = (T) parseColor(parser);
} else if (type == Font.class) {
obj = (T) parseFont(parser);
} else {
throw new JSONException("not support awt class : " + type);
}
ParseContext context = parser.getContext();
parser.setContext(obj, fieldName);
parser.setContext(context);
return obj;
}
代码示例来源:origin: alibaba/fastjson
ParseContext rootContext = parser.setContext(null, null);
lexer.nextToken();
ParseContext context = parser.setContext(rootContext, null, "argsObjs");
values = parser.parseArray(argTypes);
context.object = values;
代码示例来源:origin: com.alibaba/fastjson
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;
}
代码示例来源:origin: com.alibaba/fastjson
ParseContext rootContext = parser.setContext(null, null);
lexer.nextToken();
ParseContext context = parser.setContext(rootContext, null, "argsObjs");
values = parser.parseArray(argTypes);
context.object = values;
代码示例来源:origin: com.alibaba/fastjson
this.setContext(array, fieldName);
try {
for (int i = 0;; ++i) {
this.setContext(context);
代码示例来源:origin: com.alibaba/fastjson
parser.setContext(context, object, fieldName);
fieldValues = new HashMap<String, Object>(this.fieldDeserializers.length);
childContext = parser.setContext(context, object, fieldName);
if (setFlags == null) {
setFlags = new int[(this.fieldDeserializers.length / 32) + 1];
object = createInstance(parser, type);
if (childContext == null) {
childContext = parser.setContext(context, object, fieldName);
childContext.object = object;
parser.setContext(context);
代码示例来源:origin: com.alibaba/fastjson
context = this.context;
} else {
ParseContext contextR = setContext(object, fieldName);
if (context == null) {
context = contextR;
context = this.context;
} else {
ParseContext contextR = setContext(object, fieldName);
if (context == null) {
context = contextR;
this.setContext(context);
ctxLocal = setContext(context, input, key);
setContext(obj, key);
setContext(context);
return object;
} else if (lexer.token() == JSONToken.COMMA) {
this.popContext();
} else {
this.setContext(context);
this.setContext(value, key);
this.setContext(context);
代码示例来源:origin: com.alibaba/fastjson
this.setContext(array, fieldName);
try {
for (int i = 0;; ++i) {
this.setContext(context);
代码示例来源:origin: com.alibaba/fastjson
parser.setContext(context);
parser.checkMapResolve(map, key);
parser.setContext(context, value, key);
parser.setContext(context);
parser.setContext(context);
代码示例来源:origin: com.alibaba/fastjson
parser.setContext(context);
代码示例来源:origin: com.alibaba/fastjson
setContext(context);
setContext(context, value, key);
setContext(context);
setContext(context);
代码示例来源:origin: AlibabaTech/fastjson
public ParseContext setContext(Object object, Object fieldName) {
if (isEnabled(Feature.DisableCircularReferenceDetect)) {
return null;
}
return setContext(this.context, object, fieldName);
}
代码示例来源:origin: actframework/actframework
public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
final JSONLexer lexer = parser.lexer;
if (lexer.token() == JSONToken.NULL) {
lexer.nextToken(JSONToken.COMMA);
return null;
}
KV map = new KVStore();
ParseContext context = parser.getContext();
try {
parser.setContext(context, map, fieldName);
return (T) parseMap(parser, map, fieldName);
} finally {
parser.setContext(context);
}
}
代码示例来源:origin: actframework/actframework
@Override
public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
final JSONLexer lexer = parser.lexer;
if (lexer.token() == JSONToken.NULL) {
lexer.nextToken(JSONToken.COMMA);
return null;
}
EnhancedAdaptiveMap ar = Act.app().getInstance((Class<EnhancedAdaptiveMap>) type);
ParseContext context = parser.getContext();
try {
parser.setContext(context, ar, fieldName);
return (T) parseActiveBean(parser, ar, fieldName);
} finally {
parser.setContext(context);
}
}
代码示例来源:origin: org.actframework/act
@Override
public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
final JSONLexer lexer = parser.lexer;
if (lexer.token() == JSONToken.NULL) {
lexer.nextToken(JSONToken.COMMA);
return null;
}
EnhancedAdaptiveMap ar = Act.app().getInstance((Class<EnhancedAdaptiveMap>) type);
ParseContext context = parser.getContext();
try {
parser.setContext(context, ar, fieldName);
return (T) parseActiveBean(parser, ar, fieldName);
} finally {
parser.setContext(context);
}
}
内容来源于网络,如有侵权,请联系作者删除!