com.alibaba.fastjson.parser.DefaultJSONParser.getLexer()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(7.4k)|赞(0)|评价(0)|浏览(218)

本文整理了Java中com.alibaba.fastjson.parser.DefaultJSONParser.getLexer()方法的一些代码示例,展示了DefaultJSONParser.getLexer()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。DefaultJSONParser.getLexer()方法的具体详情如下:
包路径:com.alibaba.fastjson.parser.DefaultJSONParser
类名称:DefaultJSONParser
方法名:getLexer

DefaultJSONParser.getLexer介绍

暂无

代码示例

代码示例来源:origin: alibaba/fastjson

@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();
}

代码示例来源:origin: com.alibaba/fastjson

@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();
}

代码示例来源: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

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: alibaba/fastjson

public static Object[] parseInvocationArguments(String json, MethodLocator methodLocator) {
  DefaultJSONParser parser = new DefaultJSONParser(json);
  JSONLexerBase lexer = (JSONLexerBase) parser.getLexer();

代码示例来源:origin: com.alibaba/fastjson

public static Object[] parseInvocationArguments(String json, MethodLocator methodLocator) {
  DefaultJSONParser parser = new DefaultJSONParser(json);
  JSONLexerBase lexer = (JSONLexerBase) parser.getLexer();

代码示例来源:origin: alibaba/fastjson

public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
  JSONLexerBase lexer = (JSONLexerBase) parser.getLexer();

代码示例来源:origin: com.alibaba/fastjson

public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
  JSONLexerBase lexer = (JSONLexerBase) parser.getLexer();

代码示例来源:origin: actframework/actframework

@SuppressWarnings("unchecked")
public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
  JSONLexer lexer = parser.getLexer();
  if (lexer.token() == JSONToken.LITERAL_STRING) {
    String text = lexer.stringVal();
    lexer.nextToken(JSONToken.COMMA);
    return (T) Keyword.of(text);
  } else {
    throw new UnsupportedOperationException();
  }
}

代码示例来源:origin: actframework/actframework

@SuppressWarnings("unchecked")
public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
  JSONLexer lexer = parser.getLexer();
  if (lexer.token() == JSONToken.LITERAL_STRING) {
    String text = lexer.stringVal();
    lexer.nextToken(JSONToken.COMMA);
    return (T) resolver.resolve(text);
  } else {
    throw new UnsupportedOperationException();
  }
}

代码示例来源:origin: org.actframework/act

@SuppressWarnings("unchecked")
public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
  JSONLexer lexer = parser.getLexer();
  if (lexer.token() == JSONToken.LITERAL_STRING) {
    String text = lexer.stringVal();
    lexer.nextToken(JSONToken.COMMA);
    return (T) resolver.resolve(text);
  } else {
    throw new UnsupportedOperationException();
  }
}

代码示例来源:origin: org.actframework/act

@SuppressWarnings("unchecked")
public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
  JSONLexer lexer = parser.getLexer();
  if (lexer.token() == JSONToken.LITERAL_STRING) {
    String text = lexer.stringVal();
    lexer.nextToken(JSONToken.COMMA);
    return (T) Keyword.of(text);
  } else {
    throw new UnsupportedOperationException();
  }
}

代码示例来源:origin: net.guerlab/azeroth

@SuppressWarnings("unchecked")
@Override
public <T> T deserialze(
    DefaultJSONParser parser,
    Type type,
    Object fieldName) {
  JSONLexer lexer = parser.getLexer();
  String text = getValue(lexer);
  lexer.nextToken();
  if (type == LocalDateTime.class) {
    return (T) TimeHelper.parseLocalDateTime(text);
  }
  return null;
}

代码示例来源:origin: org.actframework/act-morphia

@Override
public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
  JSONLexer lexer = parser.getLexer();
  if (lexer.token() == JSONToken.LITERAL_STRING) {
    String text = lexer.stringVal();
    lexer.nextToken(JSONToken.COMMA);
    return (T) new ObjectId(text);
  }
  return null;
}

代码示例来源:origin: AlibabaTech/fastjson

@SuppressWarnings("unchecked")
public static <T> T deserialze(DefaultJSONParser parser) {
  final JSONLexer lexer = parser.getLexer();
  if (lexer.token() == JSONToken.LITERAL_INT) {
    String val = lexer.numberString();
    lexer.nextToken(JSONToken.COMMA);
    return (T) new BigInteger(val);
  }
  Object value = parser.parse();
  if (value == null) {
    return null;
  }
  return (T) TypeUtils.castToBigInteger(value);
}

代码示例来源:origin: net.guerlab/azeroth

@SuppressWarnings("unchecked")
@Override
public <T> T deserialze(
    DefaultJSONParser parser,
    Type type,
    Object fieldName) {
  JSONLexer lexer = parser.getLexer();
  String text = getValue(lexer);
  lexer.nextToken();
  if (type == LocalTime.class) {
    return (T) TimeHelper.parseLocalDateTime(text).toLocalTime();
  }
  return null;
}

代码示例来源:origin: AlibabaTech/fastjson

@SuppressWarnings("unchecked")
public <T> T deserialze(DefaultJSONParser parser, Type clazz, Object fieldName) {
  if (parser.getLexer().token() == JSONToken.NULL) {
    parser.getLexer().nextToken(JSONToken.COMMA);
    return null;
  }
  JSONArray array = new JSONArray();
  parser.parseArray(array);
  AtomicLongArray atomicArray = new AtomicLongArray(array.size());
  for (int i = 0; i < array.size(); ++i) {
    atomicArray.set(i, array.getLong(i));
  }
  return (T) atomicArray;
}

代码示例来源:origin: AlibabaTech/fastjson

@SuppressWarnings("unchecked")
public <T> T deserialze(DefaultJSONParser parser, Type clazz, Object fieldName) {
  if (parser.getLexer().token() == JSONToken.NULL) {
    parser.getLexer().nextToken(JSONToken.COMMA);
    return null;
  }
  JSONArray array = new JSONArray();
  parser.parseArray(array);
  AtomicIntegerArray atomicArray = new AtomicIntegerArray(array.size());
  for (int i = 0; i < array.size(); ++i) {
    atomicArray.set(i, array.getInteger(i));
  }
  return (T) atomicArray;
}

代码示例来源:origin: AlibabaTech/fastjson

public void close() {
  final JSONLexer lexer = getLexer();
  try {
    if (isEnabled(Feature.AutoCloseSource)) {
      if (!lexer.isEOF()) {
        throw new JSONException("not close json text, token : " + JSONToken.name(lexer.token()));
      }
    }
  } finally {
    lexer.close();
  }
}

代码示例来源:origin: AlibabaTech/fastjson

public final void accept(final int token) {
  final JSONLexer lexer = getLexer();
  if (lexer.token() == token) {
    lexer.nextToken();
  } else {
    throw new JSONException("syntax error, expect " + JSONToken.name(token) + ", actual "
                + JSONToken.name(lexer.token()));
  }
}

相关文章