本文整理了Java中com.fasterxml.jackson.core.JsonParseException
类的一些代码示例,展示了JsonParseException
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JsonParseException
类的具体详情如下:
包路径:com.fasterxml.jackson.core.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;
}
内容来源于网络,如有侵权,请联系作者删除!