com.fasterxml.jackson.core.JsonParseException类的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(9.6k)|赞(0)|评价(0)|浏览(1080)

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

JsonParseException介绍

[英]Exception type for parsing problems, used when non-well-formed content (content that does not conform to JSON syntax as per specification) is encountered.
[中]解析问题的异常类型,在遇到格式不正确的内容(根据规范不符合JSON语法的内容)时使用。

代码示例

代码示例来源:origin: prestodb/presto

public T processJsonObject(JsonParser jsonParser)
    throws IOException
{
  while (!jsonParser.nextFieldName(fieldName)) {
    if (!jsonParser.hasCurrentToken()) {
      throw new JsonParseException(jsonParser, "Unexpected end of object");
    }
    if (jsonParser.getCurrentToken() == END_OBJECT) {
      // Unable to find matching field
      return null;
    }
    jsonParser.skipChildren(); // Skip nested structure if currently at the start of one
  }
  jsonParser.nextToken(); // Shift to first token of the value
  return delegate.extract(jsonParser);
}

代码示例来源:origin: xuxueli/xxl-job

/**
 * string --> bean、Map、List(array)
 * 
 * @param jsonStr
 * @param clazz
 * @return obj
 * @throws Exception
 */
public static <T> T readValue(String jsonStr, Class<T> clazz) {
  try {
    return getInstance().readValue(jsonStr, clazz);
  } catch (JsonParseException e) {
    logger.error(e.getMessage(), e);
  } catch (JsonMappingException e) {
    logger.error(e.getMessage(), e);
  } catch (IOException e) {
    logger.error(e.getMessage(), e);
  }
  return null;
}

代码示例来源:origin: aws/aws-sdk-java

try {
  JsonParser parser = jf.createParser(jsonmessage);
  parser.nextToken(); //shift past the START_OBJECT that begins the JSON
  while (parser.nextToken() != JsonToken.END_OBJECT) {
    String fieldname = parser.getCurrentName();
    if (!INTERESTING_FIELDS.contains(fieldname)) {
      parser.skipChildren();
  e.printStackTrace();
} catch (IOException e) {

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

/**
 * Helper method for constructing {@link JsonParseException}s
 * based on current state of the parser
 */
protected JsonParseException _constructError(String msg) {
  return new JsonParseException(this, msg)
    .withRequestPayload(_requestPayload);
}

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

/**
  * Convenience accessor that can be called when the current
  * token is {@link JsonToken#VALUE_TRUE} or
  * {@link JsonToken#VALUE_FALSE}.
  *<p>
  * Note: if the token is not of above-mentioned boolean types,
an integer, but its value falls
  * outside of range of Java long, a {@link JsonParseException}
  * may be thrown to indicate numeric overflow/underflow.
  */
 public boolean getBooleanValue() throws IOException {
   JsonToken t = currentToken();
   if (t == JsonToken.VALUE_TRUE) return true;
   if (t == JsonToken.VALUE_FALSE) return false;
   throw new JsonParseException(this,
     String.format("Current token (%s) not of boolean type", t))
       .withRequestPayload(_requestPayload);
 }

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

if (!nested) {
  token = parser.nextToken();
  if (!nested && token != JsonToken.START_ARRAY) {
    throw new IOException("Expected data to start with an Array, but was " + token);
token = parser.nextToken();
while (token != JsonToken.END_ARRAY) {
  switch (token) {
      break;
    case VALUE_STRING:
      array.add(parser.getValueAsString());
      break;
    case VALUE_TRUE:
      throw new JsonParseException(parser, "Non-blocking parsers are not supported", parser.getCurrentLocation());
    case FIELD_NAME:
      throw new JsonParseException(parser, "Not expecting a FIELD_NAME token", parser.getCurrentLocation());
    case END_ARRAY:
      throw new JsonParseException(parser, "Not expecting an END_ARRAY token", parser.getCurrentLocation());
    case END_OBJECT:
      throw new JsonParseException(parser, "Not expecting an END_OBJECT token", parser.getCurrentLocation());
  token = parser.nextToken();

代码示例来源:origin: Netflix/eureka

public InstanceInfo deserialize(JsonParser jp, DeserializationContext context) throws IOException {
  if (Thread.currentThread().isInterrupted()) {
    throw new JsonParseException(jp, "processing aborted");
  while ((jsonToken = jp.nextToken()) != JsonToken.END_OBJECT) {
    InstanceInfoField instanceInfoField = InstanceInfoField.lookup.find(jp);
    jsonToken = jp.nextToken();
    if (instanceInfoField != null && jsonToken != JsonToken.VALUE_NULL) {
      switch(instanceInfoField) {
            ()->{
              try {
                return jp.getText().toUpperCase();
              } catch (IOException e) {
                throw new RuntimeJsonMappingException(e.getMessage());

代码示例来源:origin: spring-projects/spring-hateoas

@Override
public List<Object> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
  List<Object> result = new ArrayList<>();
  JsonDeserializer<Object> deser = ctxt.findRootValueDeserializer(contentType);
  Object object;
  // links is an object, so we parse till we find its end.
  while (!JsonToken.END_OBJECT.equals(jp.nextToken())) {
    if (!JsonToken.FIELD_NAME.equals(jp.getCurrentToken())) {
      throw new JsonParseException(jp, "Expected relation name");
    }
    if (JsonToken.START_ARRAY.equals(jp.nextToken())) {
      while (!JsonToken.END_ARRAY.equals(jp.nextToken())) {
        object = deser.deserialize(jp, ctxt);
        result.add(object);
      }
    } else {
      object = deser.deserialize(jp, ctxt);
      result.add(object);
    }
  }
  return result;
}

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

@Override
public byte[] deserialize(JsonParser p, DeserializationContext ctxt) throws IOException
  JsonToken t = p.getCurrentToken();
      return p.getBinaryValue(ctxt.getBase64Variant());
    } catch (JsonParseException e) {
      String msg = e.getOriginalMessage();
      if (msg.contains("base64")) {
        return (byte[]) ctxt.handleWeirdStringValue(byte[].class,
            p.getText(), msg);

代码示例来源:origin: spring-projects/spring-hateoas

while (!JsonToken.END_OBJECT.equals(jp.nextToken())) {
  if (!JsonToken.FIELD_NAME.equals(jp.getCurrentToken())) {
    throw new JsonParseException(jp, "Expected relation name");
  relation = jp.getText();
  if (JsonToken.START_ARRAY.equals(jp.nextToken())) {

代码示例来源:origin: Netflix/eureka

@Override
public Applications deserialize(JsonParser jp, DeserializationContext context) throws IOException {
  if (Thread.currentThread().isInterrupted()) {
    throw new JsonParseException(jp, "processing aborted");
  while((jsonToken = jp.nextToken()) != JsonToken.END_OBJECT){
      String fieldName = jp.getCurrentName();
      jsonToken = jp.nextToken();

代码示例来源:origin: Netflix/eureka

@Override
public Application deserialize(JsonParser jp, DeserializationContext context) throws IOException {
  if (Thread.currentThread().isInterrupted()) {
    throw new JsonParseException(jp, "processing aborted");
    while((jsonToken = jp.nextToken()) != JsonToken.END_OBJECT){
      if(JsonToken.FIELD_NAME == jsonToken){
        ApplicationField field = ApplicationField.lookup.find(jp);
        jsonToken = jp.nextToken();
        if (field != null) {
          switch(field) {
          case NAME:
            application.setName(jp.getText());
            break;
          case INSTANCE:

代码示例来源:origin: prestodb/presto

@Override
  public Slice extract(JsonParser jsonParser)
      throws IOException
  {
    JsonToken token = jsonParser.getCurrentToken();
    if (token == null) {
      throw new JsonParseException(jsonParser, "Unexpected end of value");
    }
    if (!token.isScalarValue() || token == VALUE_NULL) {
      return null;
    }
    return utf8Slice(jsonParser.getText());
  }
}

代码示例来源:origin: com.dropbox.core/dropbox-core-sdk

protected static void expectField(String name, JsonParser p) throws IOException, JsonParseException {
  if (p.getCurrentToken() != JsonToken.FIELD_NAME) {
    throw new JsonParseException(p, "expected field name, but was: " + p.getCurrentToken());
  }
  if (!name.equals(p.getCurrentName())) {
    throw new JsonParseException(p, "expected field '" + name + "', but was: '" + p.getCurrentName() + "'");
  }
  p.nextToken();
}

代码示例来源:origin: ebean-orm/ebean

if (parser.getCurrentToken() == JsonToken.START_OBJECT) {
 JsonToken token = parser.nextToken();
 if (JsonToken.VALUE_NULL == token || JsonToken.END_ARRAY == token) {
  return null;
  throw new JsonParseException(parser, "Unexpected token " + token + " - expecting start_object", parser.getCurrentLocation());
 throw new JsonParseException(newParser, msg, parser.getCurrentLocation());

代码示例来源:origin: prestodb/presto

public T processJsonArray(JsonParser jsonParser)
      throws IOException
  {
    int currentIndex = 0;
    while (true) {
      JsonToken token = jsonParser.nextToken();
      if (token == null) {
        throw new JsonParseException(jsonParser, "Unexpected end of array");
      }
      if (token == END_ARRAY) {
        // Index out of bounds
        if (exceptionOnOutOfBounds) {
          throw new PrestoException(INVALID_FUNCTION_ARGUMENT, "Index out of bounds");
        }
        return null;
      }
      if (currentIndex == index) {
        break;
      }
      currentIndex++;
      jsonParser.skipChildren(); // Skip nested structure if currently at the start of one
    }
    return delegate.extract(jsonParser);
  }
}

代码示例来源:origin: ebean-orm/ebean

/**
 * Read the JSON for this property.
 */
public void jsonRead(SpiJsonReader readJson, EntityBean parentBean) throws IOException {
 if (!this.many.jsonDeserialize) {
  return;
 }
 JsonParser parser = readJson.getParser();
 JsonToken event = parser.nextToken();
 if (JsonToken.VALUE_NULL == event) {
  return;
 }
 if (many.isTransient()) {
  jsonReadTransientUsingObjectMapper(readJson, parentBean);
  return;
 }
 if (JsonToken.START_ARRAY != event) {
  throw new JsonParseException(parser, "Unexpected token " + event + " - expecting start_array");
 }
 many.setValue(parentBean, many.jsonReadCollection(readJson, parentBean));
}

代码示例来源:origin: locationtech/spatial4j

public Shape read(JsonParser jp, ShapeFactory factory) throws IOException {
 if(!jp.getCurrentToken().isStructStart()) {
  throw new JsonParseException(jp, "Expect the start of GeoJSON Geometry object");
 }
 
 return read( (ObjectNode)jp.getCodec().readTree(jp), factory );
}

代码示例来源:origin: dremio/dremio-oss

long getType() throws JsonParseException, IOException {
 if (!checkNextToken(JsonToken.VALUE_NUMBER_INT, JsonToken.VALUE_STRING)) {
  long type = parser.getValueAsLong();
  //Advancing the token, as checking current token in binary
  parser.nextToken();
  return type;
 }
 throw new JsonParseException("Failure while reading $type value. Expected a NUMBER or STRING",
   parser.getCurrentLocation());
}

代码示例来源:origin: stackoverflow.com

public boolean isValidJSON(final String json) {
  boolean valid = false;
  try {
   final JsonParser parser = new ObjectMapper().getJsonFactory()
      .createJsonParser(json);
   while (parser.nextToken() != null) {
   }
   valid = true;
  } catch (JsonParseException jpe) {
   jpe.printStackTrace();
  } catch (IOException ioe) {
   ioe.printStackTrace();
  }

  return valid;
}

相关文章