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

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

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

DefaultJSONParser.parse介绍

暂无

代码示例

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

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;
}

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

public Object readObject() {
  if (context == null) {
    return parser.parse();
  }
  readBefore();
  Object object;
  switch (context.state) {
    case StartObject:
    case PropertyValue:
      object = parser.parseKey();
      break;
    default:
      object = parser.parse();
      break;
  }
  readAfter();
  return object;
}

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

longObject = TypeUtils.castToLong(jsonObject);
} else {
  Object value = parser.parse();

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

public void extract(JSONPath path, DefaultJSONParser parser, Context context) {
    JSONLexerBase lexer = (JSONLexerBase) parser.lexer;
    if (lexer.seekArrayToItem(index)
        && context.eval)
    {
      context.object = parser.parse();
    }
  }
}

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

@SuppressWarnings("unchecked")
public <T> T deserialze(DefaultJSONParser parser, Type clazz, Object fieldName) {
  Object value = parser.parse();
  return value == null //
    ? null //
    : (T) TypeUtils.castToChar(value);
}

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

public void extract(JSONPath path, DefaultJSONParser parser, Context context) {
    if (context.eval) {
      Object object = parser.parse();
      if (object instanceof List) {
        int[] indexes = new int[this.indexes.length];
        System.arraycopy(this.indexes, 0, indexes, 0, indexes.length);
        boolean noneNegative = indexes[0] >= 0;
        List list = (List) object;
        if (noneNegative) {
          for (int i = list.size() - 1; i >= 0; i--) {
            if (Arrays.binarySearch(indexes, i) < 0) {
              list.remove(i);
            }
          }
          context.object = list;
          return;
        }
      }
    }
    throw new UnsupportedOperationException();
  }
}

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

public Integer readInteger() {
  Object object;
  if (context == null) {
    object = parser.parse();
  } else {
    readBefore();
    object = parser.parse();
    readAfter();
  }
  return TypeUtils.castToInt(object);
}

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

public Long readLong() {
  Object object;
  if (context == null) {
    object = parser.parse();
  } else {
    readBefore();
    object = parser.parse();
    readAfter();
  }
  return TypeUtils.castToLong(object);
}

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

@Override
public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
  JSONObject jsonObj = (JSONObject) parser.parse();
  String checkType = jsonObj.getString("type");
  if (StringUtils.equals(checkType, AbstractHealthChecker.Http.TYPE)) {
    return (T) JSON.parseObject(jsonObj.toJSONString(), AbstractHealthChecker.Http.class);
  }
  if (StringUtils.equals(checkType, AbstractHealthChecker.Tcp.TYPE)) {
    return (T) JSON.parseObject(jsonObj.toJSONString(), AbstractHealthChecker.Tcp.class);
  }
  if (StringUtils.equals(checkType, AbstractHealthChecker.Mysql.TYPE)) {
    return (T) JSON.parseObject(jsonObj.toJSONString(), AbstractHealthChecker.Mysql.class);
  }
  return null;
}

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

@SuppressWarnings("unchecked")
public <T> T deserialze(DefaultJSONParser parser, Type clazz, Object fieldName) {
  Object value = parser.parse();
  return value == null //
    ? null //
    : (T) TypeUtils.castToChar(value);
}

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

public void extract(JSONPath path, DefaultJSONParser parser, Context context) {
    JSONLexerBase lexer = (JSONLexerBase) parser.lexer;
    if (lexer.seekArrayToItem(index)
        && context.eval)
    {
      context.object = parser.parse();
    }
  }
}

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

@Override
public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
  JSONObject jsonObj = (JSONObject) parser.parse();
  if (jsonObj == null) {
    return null;
  }
  String checkType = jsonObj.getString("type");
  if (StringUtils.equals(checkType, SelectorType.label.name())) {
    return (T) JSON.parseObject(jsonObj.toJSONString(), LabelSelector.class);
  }
  if (StringUtils.equals(checkType, SelectorType.none.name())) {
    return (T) JSON.parseObject(jsonObj.toJSONString(), NoneSelector.class);
  }
  return null;
}

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

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

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

@SuppressWarnings("unchecked")
public <T> T deserialze(DefaultJSONParser parser, Type clazz, Object fieldName) {
  if (clazz == StringBuffer.class) {
    final JSONLexer lexer = parser.lexer;
    if (lexer.token() == JSONToken.LITERAL_STRING) {
      String val = lexer.stringVal();
      lexer.nextToken(JSONToken.COMMA);
      return (T) new StringBuffer(val);
    }
    Object value = parser.parse();
    if (value == null) {
      return null;
    }
    return (T) new StringBuffer(value.toString());
  }
  if (clazz == StringBuilder.class) {
    final JSONLexer lexer = parser.lexer;
    if (lexer.token() == JSONToken.LITERAL_STRING) {
      String val = lexer.stringVal();
      lexer.nextToken(JSONToken.COMMA);
      return (T) new StringBuilder(val);
    }
    Object value = parser.parse();
    if (value == null) {
      return null;
    }
    return (T) new StringBuilder(value.toString());
  }
  return (T) deserialze(parser);
}

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

public String readString() {
  Object object;
  if (context == null) {
    object = parser.parse();
  } else {
    readBefore();
    JSONLexer lexer = parser.lexer;
    if (context.state == JSONStreamContext.StartObject && lexer.token() == JSONToken.IDENTIFIER) {
      object = lexer.stringVal();
      lexer.nextToken();
    } else {
      object = parser.parse();
    }
    readAfter();
  }
  return TypeUtils.castToString(object);
}

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

@SuppressWarnings("unchecked")
public static <T> T deserialze(DefaultJSONParser parser) {
  final JSONLexer lexer = parser.lexer;
  if (lexer.token() == JSONToken.LITERAL_INT) {
    String val = lexer.numberString();
    lexer.nextToken(JSONToken.COMMA);
    return (T) Float.valueOf(Float.parseFloat(val));
  }
  if (lexer.token() == JSONToken.LITERAL_FLOAT) {
    float val = lexer.floatValue();
    lexer.nextToken(JSONToken.COMMA);
    return (T) Float.valueOf(val);
  }
  Object value = parser.parse();
  if (value == null) {
    return null;
  }
  return (T) TypeUtils.castToFloat(value);
}

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

public void extract(JSONPath path, DefaultJSONParser parser, Context context) {
    if (context.eval) {
      Object object = parser.parse();
      if (deep) {
        List<Object> values = new ArrayList<Object>();
        path.deepGetPropertyValues(object, values);
        context.object = values;
        return;
      }
      if (object instanceof JSONObject) {
        Collection<Object> values = ((JSONObject) object).values();
        JSONArray array = new JSONArray(values.size());
        for (Object value : values) {
          array.add(value);
        }
        context.object = array;
        return;
      } else if (object instanceof JSONArray) {
        context.object = object;
        return;
      }
    }
    throw new JSONException("TODO");
  }
}

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

Object value = parser.parse();

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

@SuppressWarnings("unchecked")
public static <T> T deserialze(DefaultJSONParser parser) {
  final JSONLexer lexer = parser.lexer;
  if (lexer.token() == JSONToken.LITERAL_INT) {
    BigDecimal decimalValue = lexer.decimalValue();
    lexer.nextToken(JSONToken.COMMA);
    return (T) decimalValue;
  }
  if (lexer.token() == JSONToken.LITERAL_FLOAT) {
    BigDecimal val = lexer.decimalValue();
    lexer.nextToken(JSONToken.COMMA);
    return (T) val;
  }
  Object value = parser.parse();
  return value == null //
    ? null //
    : (T) TypeUtils.castToBigDecimal(value);
}

相关文章