本文整理汇总了Java中com.fasterxml.jackson.databind.node.NumericNode.numberType方法的典型用法代码示例。如果您正苦于以下问题:Java NumericNode.numberType方法的具体用法?Java NumericNode.numberType怎么用?Java NumericNode.numberType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.fasterxml.jackson.databind.node.NumericNode
的用法示例。
在下文中一共展示了NumericNode.numberType方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: jsonNumber
import com.fasterxml.jackson.databind.node.NumericNode; //导入方法依赖的package包/类
public static Matcher<JsonNode> jsonNumber(final NumericNode value) {
final JsonParser.NumberType numberType = value.numberType();
switch (numberType) {
case INT:
return jsonInt(value.asInt());
case LONG:
return jsonLong(value.asLong());
case BIG_INTEGER:
return jsonBigInteger(value.bigIntegerValue());
case FLOAT:
return jsonFloat(value.floatValue());
case DOUBLE:
return jsonDouble(value.doubleValue());
case BIG_DECIMAL:
return jsonBigDecimal(value.decimalValue());
default:
throw new UnsupportedOperationException("Unsupported number type " + numberType);
}
}
示例2: numericToBigDecimal
import com.fasterxml.jackson.databind.node.NumericNode; //导入方法依赖的package包/类
/**
* Convert a numeric JSON node to BigDecimal using the most correct
* conversion method.
*/
private static BigDecimal numericToBigDecimal(NumericNode node) {
switch (node.numberType()) {
case INT:
case LONG:
return BigDecimal.valueOf(node.asLong());
case FLOAT:
case DOUBLE:
return BigDecimal.valueOf(node.asDouble());
case BIG_DECIMAL:
case BIG_INTEGER:
default:
return node.decimalValue();
}
}
示例3: extractValue
import com.fasterxml.jackson.databind.node.NumericNode; //导入方法依赖的package包/类
private Object extractValue(JsonNode node) {
switch (node.getNodeType()) {
case ARRAY:
case POJO:
case OBJECT: {
throw new LmRuntimeException("Expected a value node");
}
case MISSING:
case NULL: {
return null;
}
case BINARY:
case STRING: {
return node.asText();
}
case BOOLEAN: {
return node.asBoolean();
}
case NUMBER: {
NumericNode numericNode = (NumericNode) node;
switch (numericNode.numberType()) {
case INT: {
return numericNode.intValue();
}
case LONG: {
return numericNode.longValue();
}
case FLOAT: {
return numericNode.floatValue();
}
case DOUBLE: {
return numericNode.doubleValue();
}
case BIG_INTEGER: {
return numericNode.bigIntegerValue();
}
case BIG_DECIMAL: {
return numericNode.decimalValue();
}
// intentionally fall through
}
}
default: {
throw new LmRuntimeException("Unexpected JSON node type: " + node.getNodeType());
}
}
}