本文整理匯總了Java中com.fasterxml.jackson.core.JsonParser.hasCurrentToken方法的典型用法代碼示例。如果您正苦於以下問題:Java JsonParser.hasCurrentToken方法的具體用法?Java JsonParser.hasCurrentToken怎麽用?Java JsonParser.hasCurrentToken使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類com.fasterxml.jackson.core.JsonParser
的用法示例。
在下文中一共展示了JsonParser.hasCurrentToken方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: deserialize
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
@Override
public Map<String, Object> deserialize(JsonParser parser, DeserializationContext context) throws IOException,
JsonProcessingException
{
final Map<String, Object> map = Maps.newHashMap();
int times = 0;
while( parser.hasCurrentToken() )
{
final JsonToken currentToken = parser.getCurrentToken();
switch( currentToken )
{
case START_OBJECT:
// sure
times++;
if( times > 1 )
{
throw context.mappingException("Object opened twice??");
}
break;
case END_OBJECT:
return map;
case FIELD_NAME:
parser.nextToken();
map.put(parser.getCurrentName(), parse(parser, context));
break;
case NOT_AVAILABLE:
parser.nextToken();
break;
default:
throw context.mappingException("Object can only contain fields " + where(parser, context));
}
parser.nextToken();
}
throw context.mappingException("No end object encountered " + where(parser, context));
}
示例2: parseArray
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
private Object[] parseArray(JsonParser parser, DeserializationContext context) throws IOException,
JsonProcessingException
{
boolean started = false;
final List<Object> values = Lists.newArrayList();
while( parser.hasCurrentToken() )
{
final JsonToken currentToken = parser.getCurrentToken();
switch( currentToken )
{
case START_ARRAY:
if( started )
{
values.add(parseArray(parser, context));
}
started = true;
break;
case END_ARRAY:
if( !started )
{
throw context.mappingException("End array encountered without start " + where(parser, context));
}
return values.toArray();
case NOT_AVAILABLE:
break;
default:
if( !started )
{
throw context.mappingException("Value encountered without array start "
+ where(parser, context));
}
values.add(parse(parser, context));
}
parser.nextToken();
}
throw context.mappingException("No end array found " + where(parser, context));
}
示例3: deserialize
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
@Override
public ObjectExpression deserialize(JsonParser parser, DeserializationContext context) throws IOException,
JsonProcessingException
{
final ObjectExpression map = new ObjectExpression();
int times = 0;
while( parser.hasCurrentToken() )
{
final JsonToken currentToken = parser.getCurrentToken();
switch( currentToken )
{
case START_OBJECT:
// sure
times++;
if( times > 1 )
{
throw context.mappingException("Object opened twice??");
}
break;
case END_OBJECT:
return map;
case FIELD_NAME:
parser.nextToken();
map.put(parser.getCurrentName(), parse(parser, context));
break;
case NOT_AVAILABLE:
parser.nextToken();
break;
default:
throw context.mappingException("Object can only contain fields " + where(parser, context));
}
parser.nextToken();
}
throw context.mappingException("No end object encountered " + where(parser, context));
}
示例4: parseArray
import com.fasterxml.jackson.core.JsonParser; //導入方法依賴的package包/類
private ArrayExpression parseArray(JsonParser parser, DeserializationContext context) throws IOException,
JsonProcessingException
{
boolean started = false;
final List<Object> values = Lists.newArrayList();
while( parser.hasCurrentToken() )
{
final JsonToken currentToken = parser.getCurrentToken();
switch( currentToken )
{
case START_ARRAY:
if( started )
{
values.add(parseArray(parser, context));
}
started = true;
break;
case END_ARRAY:
if( !started )
{
throw context.mappingException("End array encountered without start " + where(parser, context));
}
return new ArrayExpression(values.toArray());
case NOT_AVAILABLE:
break;
default:
if( !started )
{
throw context.mappingException("Value encountered without array start "
+ where(parser, context));
}
values.add(parse(parser, context));
}
parser.nextToken();
}
throw context.mappingException("No end array found " + where(parser, context));
}