@SuppressWarnings("rawtypes") public Object parseObject(final Map object) { return parseObject(object, null); }
public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) { PropertyProcessable processable; try { processable = this.type.newInstance(); } catch (Exception e) { throw new JSONException("craete instance error"); } Object object =parser.parse(processable, fieldName); return (T) object; }
@SuppressWarnings("unchecked") public static <T> T deserialze(DefaultJSONParser parser) { final JSONLexer lexer = parser.getLexer(); if (lexer.token() == JSONToken.LITERAL_STRING) { String val = lexer.stringVal(); lexer.nextToken(JSONToken.COMMA); return (T) val; } if (lexer.token() == JSONToken.LITERAL_INT) { String val = lexer.numberString(); lexer.nextToken(JSONToken.COMMA); return (T) val; } Object value = parser.parse(); if (value == null) { return null; } return (T) value.toString(); }
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; }
/** * * @since 1.2.38 */ public static Object parse(String text, ParserConfig config, int features) { if (text == null) { return null; } DefaultJSONParser parser = new DefaultJSONParser(text, config, features); Object value = parser.parse(); parser.handleResovleTask(value); parser.close(); return value; }
context = this.context; } else { ParseContext contextR = setContext(object, fieldName); if (context == null) { context = contextR; key = parse(); isObjectKey = true; } else { this.setResolveStatus(TypeNameRedirect); && !(fieldName instanceof Integer) && !(this.context.fieldName instanceof Integer)) { this.popContext(); this.parseObject(newObj); return newObj; && deserClass != JavaBeanDeserializer.class && deserClass != ThrowableDeserializer.class) { this.setResolveStatus(NONE); } else if (deserializer instanceof MapDeserializer) { this.setResolveStatus(NONE); refValue = context.object; } else { addResolveTask(new ResolveTask(context, ref)); setResolveStatus(DefaultJSONParser.NeedToResolve);
ParseContext context = parser.getContext(); try { for (int i = 0;;++i) { key = lexer.scanSymbol(parser.getSymbolTable(), '"'); lexer.skipWhitespace(); ch = lexer.getCurrent(); key = lexer.scanSymbol(parser.getSymbolTable(), '\''); lexer.skipWhitespace(); ch = lexer.getCurrent(); key = lexer.scanSymbolUnQuoted(parser.getSymbolTable()); lexer.skipWhitespace(); ch = lexer.getCurrent(); parser.setContext(context); lexer.nextToken(); } else { value = parser.parseObject(Object.class, key); if (value instanceof Map) { Map tmp = (Map)value; parser.checkMapResolve(map, key); parser.setContext(context, value, key); parser.setContext(context);
@SuppressWarnings("unchecked") public static <T> T parseObject(String input, Type clazz, ParserConfig config, ParseProcess processor, int featureValues, Feature... features) { if (input == null) { return null; } if (features != null) { for (Feature feature : features) { featureValues |= feature.mask; } } DefaultJSONParser parser = new DefaultJSONParser(input, config, featureValues); if (processor != null) { if (processor instanceof ExtraTypeProvider) { parser.getExtraTypeProviders().add((ExtraTypeProvider) processor); } if (processor instanceof ExtraProcessor) { parser.getExtraProcessors().add((ExtraProcessor) processor); } if (processor instanceof FieldTypeResolver) { parser.setFieldTypeResolver((FieldTypeResolver) processor); } } T value = (T) parser.parseObject(clazz, null); parser.handleResovleTask(value); parser.close(); return (T) value; }
@SuppressWarnings("unchecked") public static final <T> T parseObject(String input, Type clazz, ParserConfig config, int featureValues, Feature... features) { if (input == null) { return null; } for (Feature featrue : features) { featureValues = Feature.config(featureValues, featrue, true); } DefaultJSONParser parser = new DefaultJSONParser(input, config, featureValues); T value = (T) parser.parseObject(clazz); handleResovleTask(parser, value); parser.close(); return (T) value; }
@SuppressWarnings("rawtypes") public Map parseMap(DefaultJSONParser parser, Map<String, Object> map, Type valueType, Object fieldName) { JSONScanner lexer = (JSONScanner) parser.getLexer(); ParseContext context = parser.getContext(); try { for (;;) { lexer.skipWhitespace(); char ch = lexer.getCurrent(); if (parser.isEnabled(Feature.AllowArbitraryCommas)) { while (ch == ',') { lexer.incrementBufferPosition(); key = lexer.scanSymbol(parser.getSymbolTable(), '"'); lexer.skipWhitespace(); ch = lexer.getCurrent(); return map; } else if (ch == '\'') { if (!parser.isEnabled(Feature.AllowSingleQuotes)) { throw new JSONException("syntax error"); key = lexer.scanSymbol(parser.getSymbolTable(), '\''); lexer.skipWhitespace(); ch = lexer.getCurrent(); if (!parser.isEnabled(Feature.AllowUnQuotedFieldNames)) { throw new JSONException("syntax error"); key = lexer.scanSymbolUnQuoted(parser.getSymbolTable());
public static Object[] parseInvocationArguments(String json, MethodLocator methodLocator) { DefaultJSONParser parser = new DefaultJSONParser(json); JSONLexerBase lexer = (JSONLexerBase) parser.getLexer(); ParseContext rootContext = parser.setContext(null, null); ParseContext context = parser.setContext(rootContext, null, "argsObjs"); values = parser.parseArray(argTypes); context.object = values; parser.accept(JSONToken.RBRACE); parser.handleResovleTask(null); } else { values = null; parser.close(); String typeName = typeNames[i]; if (argType != String.class) { values[i] = TypeUtils.cast(typeName, argType, parser.getConfig()); } else { values[i] = typeName; values = parser.parseArray(argTypes); lexer.close(); } else {
@SuppressWarnings("unchecked") public static <T> T parseObject(String input, Type clazz, int featureValues, Feature... features) { if (input == null) { return null; } for (Feature feature : features) { featureValues = Feature.config(featureValues, feature, true); } DefaultJSONParser parser = new DefaultJSONParser(input, ParserConfig.getGlobalInstance(), featureValues); T value = (T) parser.parseObject(clazz); parser.handleResovleTask(value); parser.close(); return (T) value; }
parser.accept(JSONToken.LBRACE); 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"); lexer.nextToken(); } else { parser.accept(JSONToken.COLON); parser.parse(); parser.accept(JSONToken.RBRACE); parser.accept(JSONToken.COMMA); parser.accept(JSONToken.COLON); objVal = parser.parse(); parser.accept(JSONToken.RBRACE); } else { objVal = parser.parse(); return (T) TypeUtils.loadClass(strVal, parser.getConfig().getDefaultClassLoader(), false);
parser.parseArray(array, fieldName); ParseContext context = parser.getContext(); try { for (int i = 0;;++i) { key = lexer.scanSymbol(parser.getSymbolTable(), '"'); lexer.skipWhitespace(); ch = lexer.getCurrent(); key = lexer.scanSymbol(parser.getSymbolTable(), '\''); lexer.skipWhitespace(); ch = lexer.getCurrent(); key = lexer.scanSymbolUnQuoted(parser.getSymbolTable()); lexer.skipWhitespace(); ch = lexer.getCurrent(); String typeName = lexer.scanSymbol(parser.getSymbolTable(), '"'); final ParserConfig config = parser.getConfig(); parser.setResolveStatus(DefaultJSONParser.TypeNameRedirect); parser.popContext(); parser.setContext(context); lexer.nextToken(); } else {
if (parser.getResolveStatus() == DefaultJSONParser.TypeNameRedirect) { parser.setResolveStatus(DefaultJSONParser.NONE); } else { if (lexer.token() != JSONToken.LBRACE) { String key = lexer.scanSymbol(parser.getSymbolTable()); if (lexer.token() == JSONToken.LITERAL_STRING) { String exClassName = lexer.stringVal(); exClass = parser.getConfig().checkAutoType(exClassName, Throwable.class, lexer.getFeatures()); } else { throw new JSONException("syntax error"); cause = deserialze(parser, null, "cause"); } else if ("stackTrace".equals(key)) { stackTrace = parser.parseObject(StackTraceElement[].class); } else { if (otherValues == null) { otherValues = new HashMap<String, Object>(); otherValues.put(key, parser.parse()); exBeanDeser = this; } else { ObjectDeserializer exDeser = parser.getConfig().getDeserializer(exClass); if (exDeser instanceof JavaBeanDeserializer) { exBeanDeser = (JavaBeanDeserializer) exDeser;
if (token == JSONToken.LBRACE) { JSONObject jsonObject = new JSONObject(true); parser.parseObject(jsonObject); longObject = TypeUtils.castToLong(jsonObject); } else { Object value = parser.parse();
public static List<Object> parseArray(String text, Type[] types) { if (text == null) { return null; } List<Object> list; DefaultJSONParser parser = new DefaultJSONParser(text, ParserConfig.getGlobalInstance()); Object[] objectArray = parser.parseArray(types); if (objectArray == null) { list = null; } else { list = Arrays.asList(objectArray); } parser.handleResovleTask(list); parser.close(); return list; }
public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) { JSONLexerBase lexer = (JSONLexerBase) parser.getLexer(); SymbolTable symbolTable = parser.getSymbolTable(); String name = lexer.scanSymbolUnQuoted(parser.getSymbolTable()); funcName += "."; funcName += name; Object arg = parser.parse(); jsonp.addParameter(arg);
public static final Object parse(String text, int features) { if (text == null) { return null; } DefaultJSONParser parser = new DefaultJSONParser(text, ParserConfig.getGlobalInstance(), features); Object value = parser.parse(); handleResovleTask(parser, value); parser.close(); return value; }