本文整理汇总了Java中com.fasterxml.jackson.core.JsonParser.getBigIntegerValue方法的典型用法代码示例。如果您正苦于以下问题:Java JsonParser.getBigIntegerValue方法的具体用法?Java JsonParser.getBigIntegerValue怎么用?Java JsonParser.getBigIntegerValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.fasterxml.jackson.core.JsonParser
的用法示例。
在下文中一共展示了JsonParser.getBigIntegerValue方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getValue
import com.fasterxml.jackson.core.JsonParser; //导入方法依赖的package包/类
@Nullable
private static Object getValue(JsonParser jp) throws IOException {
switch (jp.currentToken()) {
case VALUE_FALSE:
case VALUE_TRUE:
return jp.getBooleanValue();
case VALUE_STRING:
return jp.getValueAsString();
case VALUE_NUMBER_INT:
switch (jp.getNumberType()) {
case INT:
return jp.getIntValue();
case LONG:
return jp.getLongValue();
case BIG_INTEGER:
return jp.getBigIntegerValue();
default:
return null;
}
case VALUE_NUMBER_FLOAT:
switch (jp.getNumberType()) {
case FLOAT:
return jp.getFloatValue();
case DOUBLE:
return jp.getDoubleValue();
case BIG_DECIMAL:
return jp.getDecimalValue();
default:
return null;
}
default:
return null;
}
}
示例2: unmarshall
import com.fasterxml.jackson.core.JsonParser; //导入方法依赖的package包/类
public BigInteger unmarshall(JsonUnmarshallerContext unmarshallerContext) throws Exception {
JsonParser parser = unmarshallerContext.getJsonParser();
JsonToken current = parser.getCurrentToken();
if (current == JsonToken.VALUE_NUMBER_INT) {
return parser.getBigIntegerValue();
} else if (current == JsonToken.VALUE_EMBEDDED_OBJECT) {
Object embedded = parser.getEmbeddedObject();
return new BigInteger((byte[]) embedded);
} else {
throw new SdkClientException("Invalid BigInteger Format.");
}
}
示例3: setNumberField
import com.fasterxml.jackson.core.JsonParser; //导入方法依赖的package包/类
private void setNumberField(JsonParser jp, JSONToPdxMapper pih, String fieldName)
throws IOException {
try {
NumberType nt = jp.getNumberType();
switch (nt) {
case BIG_DECIMAL:
pih.addBigDecimalField(fieldName, jp.getDecimalValue());
break;
case BIG_INTEGER: {
BigInteger bi = jp.getBigIntegerValue();
pih.addBigIntegerField(fieldName, bi);
}
break;
case DOUBLE:
pih.addDoubleField(fieldName, jp.getDoubleValue());
break;
case FLOAT:
pih.addFloatField(fieldName, jp.getFloatValue());
break;
case INT: {
int val = jp.getIntValue();
if (val > Short.MAX_VALUE || val < Short.MIN_VALUE) {
pih.addIntField(fieldName, val);
} else if (val > Byte.MAX_VALUE || val < Byte.MIN_VALUE) {
pih.addShortField(fieldName, (short) val);
} else {
pih.addByteField(fieldName, (byte) val);
}
}
break;
case LONG:
pih.addLongField(fieldName, jp.getLongValue());
break;
default:
throw new IllegalStateException("setNumberField:unknow number type " + nt);
}
} catch (JsonParseException jpe) {
throw jpe;
} catch (IOException e) {
throw e;
}
}