com.fasterxml.jackson.core.JsonToken#VALUE_NUMBER_FLOAT源码实例Demo

下面列出了com.fasterxml.jackson.core.JsonToken#VALUE_NUMBER_FLOAT 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: divolte-collector   文件: MincodeParser.java
private JsonToken nextNumberRecord() throws IOException {
    // First process the body of the record, as a string,
    // and convert to a BigDecimal.
    _finishString();
    JsonToken token;
    try {
        final BigDecimal number = _textBuffer.contentsAsDecimal();
        // We have a number, but don't know yet if it's an integer or floating point.
        // Jackson uses floating point to mean a decimal and/or exponent is present.
        // Our best heuristic for this is to check if the scale is 0.
        if (0 == number.scale()) {
            token = JsonToken.VALUE_NUMBER_INT;
            setNumberValue(number.unscaledValue());
        } else {
            token = JsonToken.VALUE_NUMBER_FLOAT;
            _numTypesValid = NR_BIGDECIMAL;
            _numberBigDecimal = number;
            // Unlike integer types, Jackson will convert to double/float on demand.
        }
    } catch (final NumberFormatException e) {
        _wrapError("Invalid number record", e);
        // Unreachable.
        token = null;
    }
    return token;
}
 
源代码2 项目: elasticsearch-xml   文件: XmlXContentParser.java
@Override
public Object objectText() throws IOException {
    JsonToken currentToken = parser.getCurrentToken();
    if (currentToken == JsonToken.VALUE_STRING) {
        return text();
    } else if (currentToken == JsonToken.VALUE_NUMBER_INT || currentToken == JsonToken.VALUE_NUMBER_FLOAT) {
        return parser.getNumberValue();
    } else if (currentToken == JsonToken.VALUE_TRUE) {
        return Boolean.TRUE;
    } else if (currentToken == JsonToken.VALUE_FALSE) {
        return Boolean.FALSE;
    } else if (currentToken == JsonToken.VALUE_NULL) {
        return null;
    } else {
        return text();
    }
}
 
源代码3 项目: crate   文件: JsonXContentParser.java
@Override
public Object objectText() throws IOException {
    JsonToken currentToken = parser.getCurrentToken();
    if (currentToken == JsonToken.VALUE_STRING) {
        return text();
    } else if (currentToken == JsonToken.VALUE_NUMBER_INT || currentToken == JsonToken.VALUE_NUMBER_FLOAT) {
        return parser.getNumberValue();
    } else if (currentToken == JsonToken.VALUE_TRUE) {
        return Boolean.TRUE;
    } else if (currentToken == JsonToken.VALUE_FALSE) {
        return Boolean.FALSE;
    } else if (currentToken == JsonToken.VALUE_NULL) {
        return null;
    } else {
        return text();
    }
}
 
源代码4 项目: azure-storage-android   文件: TableDeserializer.java
private static EdmType evaluateEdmType(JsonToken token, String value) {
    EdmType edmType = null;

    if (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE) {
        edmType = EdmType.BOOLEAN;
    }
    else if (token == JsonToken.VALUE_NUMBER_FLOAT) {
        edmType = EdmType.DOUBLE;
    }
    else if (token == JsonToken.VALUE_NUMBER_INT) {
        edmType = EdmType.INT32;
    }
    else {
        edmType = EdmType.STRING;
    }

    return edmType;
}
 
源代码5 项目: powsybl-core   文件: FloatNodeCalc.java
static NodeCalc parseJson(JsonParser parser) throws IOException {
    JsonToken token;
    while ((token = parser.nextToken()) != null) {
        if (token == JsonToken.VALUE_NUMBER_FLOAT) {
            return new FloatNodeCalc(parser.getFloatValue());
        } else if (token == JsonToken.VALUE_NUMBER_INT) {
            return new FloatNodeCalc(parser.getIntValue());
        } else {
            throw NodeCalc.createUnexpectedToken(token);
        }
    }
    throw new TimeSeriesException("Invalid float node calc JSON");
}
 
源代码6 项目: immutables   文件: BsonParser.java
private JsonToken toJsonToken(BsonType type) {
  switch (type) {
    case END_OF_DOCUMENT:
      reader.readEndDocument();
      return JsonToken.END_OBJECT;
    case DOCUMENT:
      reader.readStartDocument();
      return JsonToken.START_OBJECT;
    case ARRAY:
      reader.readStartArray();
      return JsonToken.START_ARRAY;
    case OBJECT_ID:
      return JsonToken.VALUE_EMBEDDED_OBJECT;
    case BOOLEAN:
      final boolean value  = reader.readBoolean();
      return value ? JsonToken.VALUE_TRUE : JsonToken.VALUE_FALSE;
    case DATE_TIME:
      return JsonToken.VALUE_EMBEDDED_OBJECT;
    case NULL:
      reader.readNull();
      return JsonToken.VALUE_NULL;
    case REGULAR_EXPRESSION:
      return JsonToken.VALUE_EMBEDDED_OBJECT;
    case SYMBOL:
    case STRING:
      return JsonToken.VALUE_STRING;
    case INT32:
    case INT64:
      return JsonToken.VALUE_NUMBER_INT;
    case DECIMAL128:
      return JsonToken.VALUE_NUMBER_FLOAT;
    case DOUBLE:
      return JsonToken.VALUE_NUMBER_FLOAT;
    case BINARY:
      return JsonToken.VALUE_EMBEDDED_OBJECT;
    default:
      throw new IllegalStateException(String.format("Unknown type %s", type));
  }
}
 
源代码7 项目: caravan   文件: CustomProtobufParser.java
@Override // since 2.9
public boolean isNaN() {
  if (_currToken == JsonToken.VALUE_NUMBER_FLOAT) {
    if ((_numTypesValid & NR_DOUBLE) != 0) {
      // 10-Mar-2017, tatu: Alas, `Double.isFinite(d)` only added in JDK 8
      double d = _numberDouble;
      return Double.isNaN(d) || Double.isInfinite(d);
    }
    if ((_numTypesValid & NR_FLOAT) != 0) {
      float f = _numberFloat;
      return Float.isNaN(f) || Float.isInfinite(f);
    }
  }
  return false;
}
 
源代码8 项目: cougar   文件: JSONBindingFactory.java
@Override
protected Byte _parseByte(JsonParser jp, DeserializationContext ctxt) throws IOException {
    JsonToken t = jp.getCurrentToken();
    Integer value = null;
    if (t == JsonToken.VALUE_NUMBER_INT || t == JsonToken.VALUE_NUMBER_FLOAT) { // coercing should work too
        value = jp.getIntValue();
    }
    else if (t == JsonToken.VALUE_STRING) { // let's do implicit re-parse
        String text = jp.getText().trim();
        try {
            int len = text.length();
            if (len == 0) {
                return getEmptyValue();
            }
            value = NumberInput.parseInt(text);
        } catch (IllegalArgumentException iae) {
            throw ctxt.weirdStringException(_valueClass, "not a valid Byte value");//NOSONAR
        }
    }
    if (value != null) {
        // So far so good: but does it fit?
        if (value < Byte.MIN_VALUE || value > Byte.MAX_VALUE) {
            throw ctxt.weirdStringException(_valueClass, "overflow, value can not be represented as 8-bit value");
        }
        return (byte) (int) value;
    }
    if (t == JsonToken.VALUE_NULL) {
        return getNullValue();
    }
    throw ctxt.mappingException(_valueClass, t);
}
 
源代码9 项目: cougar   文件: JSONBindingFactory.java
@Override
public Long deserialize(JsonParser parser, DeserializationContext context) throws IOException {
    JsonToken t = parser.getCurrentToken();
    // it should be ok to coerce (although may fail, too)
    if (t == JsonToken.VALUE_NUMBER_INT || t == JsonToken.VALUE_NUMBER_FLOAT || t == JsonToken.VALUE_STRING) {
        return rangeCheckedLong(parser, context);
    }
    if (t == JsonToken.VALUE_NULL) {
        return null;
    }
    // Otherwise, no can do:
    throw context.mappingException(_valueClass);
}
 
源代码10 项目: ibm-cos-sdk-java   文件: IonParser.java
private JsonToken getJsonToken() {
    if (reader.isNullValue()) {
        return JsonToken.VALUE_NULL;
    }

    IonType currentType = reader.getType();
    switch (currentType) {
        case BLOB:
        case CLOB:
            return JsonToken.VALUE_EMBEDDED_OBJECT;
        case BOOL:
            return reader.booleanValue() ? JsonToken.VALUE_TRUE : JsonToken.VALUE_FALSE;
        case DECIMAL:
            return JsonToken.VALUE_NUMBER_FLOAT;
        case FLOAT:
            return JsonToken.VALUE_NUMBER_FLOAT;
        case INT:
            return JsonToken.VALUE_NUMBER_INT;
        case LIST:
            return JsonToken.START_ARRAY;
        case SEXP:
            return JsonToken.START_ARRAY;
        case STRING:
            return JsonToken.VALUE_STRING;
        case STRUCT:
            return JsonToken.START_OBJECT;
        case SYMBOL:
            return JsonToken.VALUE_STRING;
        case TIMESTAMP:
            return JsonToken.VALUE_EMBEDDED_OBJECT;
        default:
            throw new SdkClientException(String.format("Unhandled Ion type %s", currentType));
    }
}
 
源代码11 项目: dremio-oss   文件: WriteHolders.java
public void write(Float4Writer writer, JsonToken token, JsonParser parser) throws IOException {
  if (token == JsonToken.VALUE_NUMBER_FLOAT || token == JsonToken.VALUE_NUMBER_INT) {
    writer.writeFloat4(parser.getFloatValue());
  } else {
    writer.writeFloat4(Float.parseFloat(parser.getValueAsString()));
  }
}
 
源代码12 项目: cougar   文件: JSONBindingFactory.java
@Override
public Integer deserialize(JsonParser parser, DeserializationContext context) throws IOException {
    JsonToken t = parser.getCurrentToken();
    if (t == JsonToken.VALUE_NUMBER_INT || t == JsonToken.VALUE_NUMBER_FLOAT) { // coercing should work too
        return rangeCheckedInteger(parser, context);
    }
    if (t == JsonToken.VALUE_STRING) { // let's do implicit re-parse
        String text = parser.getText().trim();
        try {
            int len = text.length();
            if (len > 9) {
                return rangeCheckedInteger(parser, context);
            }
            if (len == 0) {
                return null;
            }
            return Integer.valueOf(NumberInput.parseInt(text));
        } catch (IllegalArgumentException iae) {
            throw context.weirdStringException(_valueClass, "not a valid Integer value");//NOSONAR
        }
    }
    if (t == JsonToken.VALUE_NULL) {
        return null;
    }
    // Otherwise, no can do:
    throw context.mappingException(_valueClass);
}
 
源代码13 项目: jackson-modules-java8   文件: DurationSerializer.java
@Override
protected JsonToken serializationShape(SerializerProvider provider) {
    if (useTimestamp(provider)) {
        if (useNanoseconds(provider)) {
            return JsonToken.VALUE_NUMBER_FLOAT;
        }
        return JsonToken.VALUE_NUMBER_INT;
    }
    return JsonToken.VALUE_STRING;
}
 
@Override
protected JsonToken serializationShape(SerializerProvider provider) {
    if (useTimestamp(provider)) {
        if (useNanoseconds(provider)) {
            return JsonToken.VALUE_NUMBER_FLOAT;
        }
        return JsonToken.VALUE_NUMBER_INT;
    }
    return JsonToken.VALUE_STRING;
}
 
源代码15 项目: vespa   文件: ConstantTensorJsonValidator.java
private void validateTensorValue() throws IOException {
    JsonToken token = parser.nextToken();

    if (token != JsonToken.VALUE_NUMBER_FLOAT && token != JsonToken.VALUE_NUMBER_INT) {
        throw new InvalidConstantTensor(parser, String.format("Tensor value is not a number (%s)", token.toString()));
    }
}
 
源代码16 项目: openbd-core   文件: DeserializeJSONJackson.java
private cfData	parseArray(JsonParser jp, cfArrayData array, boolean bStrictMapping ) throws JsonParseException, IOException, cfmRunTimeException{
	
	JsonToken	token	= jp.nextToken();
	while ( token != JsonToken.END_ARRAY ){
		
		if ( token == JsonToken.START_ARRAY ){
			array.addElement( parseArray(jp,cfArrayData.createArray(1),bStrictMapping ) );
		}else if ( token == JsonToken.START_OBJECT ){
			array.addElement( parseObject(jp,new cfStructData(),bStrictMapping) );
		}else if ( token == JsonToken.VALUE_NUMBER_INT ){
			
			if ( jp.getNumberType() == NumberType.INT )
				array.addElement( new cfNumberData(jp.getIntValue()) );
			else if ( jp.getNumberType() == NumberType.LONG || jp.getNumberType() == NumberType.BIG_INTEGER )
				array.addElement( new cfNumberData(jp.getLongValue()) );

		}else if ( token == JsonToken.VALUE_NUMBER_FLOAT ){
	
			if ( jp.getNumberType() == NumberType.FLOAT )
				array.addElement( new cfNumberData(jp.getFloatValue()) );
			else if ( jp.getNumberType() == NumberType.DOUBLE )
				array.addElement( new cfNumberData(jp.getDoubleValue()) );

		} else if ( token == JsonToken.VALUE_FALSE ){
			array.addElement( cfBooleanData.FALSE );
		} else if ( token == JsonToken.VALUE_TRUE ){
			array.addElement( cfBooleanData.TRUE );
		} else if ( token == JsonToken.VALUE_NULL ){
			array.addElement( cfNullData.NULL );
		}else
			array.addElement(  getString(jp.getText()) );
	
		token	= jp.nextToken();
	}
	
	return array;
}
 
源代码17 项目: constellation   文件: RecordStoreUtilities.java
/**
 * Convert a JSON {@link InputStream} into a {@link RecordStore}.
 * <p>
 * The specified JSON stream should contain an array of objects, with each
 * object being converted to a record in the resulting {@link RecordStore}.
 * Each field in each object is converted to an entry in the corresponding
 * record.
 *
 * @param in An {@link InputStream} through which the JSON document will be
 * transported.
 * @return A {@link RecordStore} derived from the JSON document.
 * @throws IOException If something goes wrong while reading the JSON
 * document.
 */
public static RecordStore fromJson(final InputStream in) throws IOException {
    final RecordStore recordStore;
    try (final JsonParser parser = new MappingJsonFactory().createParser(in)) {
        recordStore = new GraphRecordStore();
        JsonToken currentToken = parser.nextToken();
        if (currentToken != JsonToken.START_ARRAY) {
            return null;
        }
        while (true) {
            currentToken = parser.nextToken();
            if (currentToken == JsonToken.START_OBJECT) {
                recordStore.add();

                while (true) {
                    currentToken = parser.nextToken();
                    if (currentToken == JsonToken.FIELD_NAME) {
                        String fieldName = parser.getCurrentName();

                        String fieldValue;
                        currentToken = parser.nextToken();
                        if (currentToken == JsonToken.VALUE_STRING || currentToken == JsonToken.VALUE_NUMBER_INT || currentToken == JsonToken.VALUE_NUMBER_FLOAT) {
                            fieldValue = parser.getValueAsString();
                        } else {
                            return null;
                        }

                        recordStore.set(fieldName, fieldValue);

                    } else if (currentToken == JsonToken.END_OBJECT) {
                        break;
                    } else {
                        return null;
                    }
                }
            } else if (currentToken == JsonToken.END_ARRAY) {
                break;
            } else {
                return null;
            }
        }
    }

    return recordStore;
}
 
源代码18 项目: incubator-nemo   文件: Util.java
/**
 * Utility method for parsing the resource specification string.
 *
 * @param resourceSpecificationString the input resource specification string.
 * @return the parsed list of resource specifications. The Integer indicates how many of the specified nodes are
 * required, followed by the ResourceSpecification that indicates the specifications of the nodes.
 */
public static List<Pair<Integer, ResourceSpecification>> parseResourceSpecificationString(
  final String resourceSpecificationString) {
  final List<Pair<Integer, ResourceSpecification>> resourceSpecifications = new ArrayList<>();
  try {
    if (resourceSpecificationString.trim().startsWith("[")) {
      final TreeNode jsonRootNode = new ObjectMapper().readTree(resourceSpecificationString);

      for (int i = 0; i < jsonRootNode.size(); i++) {
        final TreeNode resourceNode = jsonRootNode.get(i);
        final int executorNum = resourceNode.path("num").traverse().nextIntValue(1);
        final String type = resourceNode.get("type").traverse().nextTextValue();
        final int capacity = resourceNode.get("capacity").traverse().getIntValue();
        final int memory = resourceNode.get("memory_mb").traverse().getIntValue();
        final OptionalDouble maxOffheapRatio;
        final OptionalInt poisonSec;

        if (resourceNode.path("max_offheap_ratio").traverse().nextToken() == JsonToken.VALUE_NUMBER_FLOAT) {
          maxOffheapRatio = OptionalDouble.of(resourceNode.path("max_offheap_ratio").traverse().getDoubleValue());
        } else {
          maxOffheapRatio = OptionalDouble.empty();
        }

        if (resourceNode.path("poison_sec").traverse().nextToken() == JsonToken.VALUE_NUMBER_INT) {
          poisonSec = OptionalInt.of(resourceNode.path("poison_sec").traverse().getIntValue());
        } else {
          poisonSec = OptionalInt.empty();
        }

        resourceSpecifications.add(
          Pair.of(executorNum, new ResourceSpecification(type, capacity, memory, maxOffheapRatio, poisonSec)));
      }
    } else {
      throw new UnsupportedOperationException("Executor Info file should be a JSON file.");
    }

    return resourceSpecifications;
  } catch (final Exception e) {
    throw new JsonParseException(e);
  }
}
 
源代码19 项目: immutables   文件: BsonParser.java
/**
 * Read next token in the stream
 */
private JsonToken readToken() throws JsonParseException {
  switch (type()) {
    case END_OF_DOCUMENT:
      reader.readEndDocument();
      return JsonToken.END_OBJECT;
    case DOCUMENT:
      reader.readStartDocument();
      return JsonToken.START_OBJECT;
    case ARRAY:
      reader.readStartArray();
      return JsonToken.START_ARRAY;
    case BOOLEAN:
      final boolean value  = reader.readBoolean();
      context.setValue(value);
      return value ? JsonToken.VALUE_TRUE : JsonToken.VALUE_FALSE;
    case DATE_TIME:
    case TIMESTAMP:
      return JsonToken.VALUE_EMBEDDED_OBJECT;
    case NULL:
      reader.readNull();
      context.setValue(null);
      return JsonToken.VALUE_NULL;
    case SYMBOL:
    case STRING:
      return JsonToken.VALUE_STRING;
    case INT32:
    case INT64:
      return JsonToken.VALUE_NUMBER_INT;
    case DECIMAL128:
    case DOUBLE:
      return JsonToken.VALUE_NUMBER_FLOAT;
    case UNDEFINED:
      reader.readUndefined();
      context.setValue(null);
      return JsonToken.VALUE_NULL;
    case OBJECT_ID:
    case BINARY:
    case REGULAR_EXPRESSION:
    default:
      return JsonToken.VALUE_EMBEDDED_OBJECT;
  }
}
 
源代码20 项目: syndesis   文件: JsonRecordSupport.java
public static void jsonStreamToRecords(Set<String> indexes, JsonParser jp, String path, Consumer<JsonRecord> consumer) throws IOException {
    boolean inArray = false;
    int arrayIndex = 0;
    while (true) {
        JsonToken nextToken = jp.nextToken();

        String currentPath = path;

        if (nextToken == FIELD_NAME) {
            if (inArray) {
                currentPath = path + toArrayIndexPath(arrayIndex) + "/";
            }
            jsonStreamToRecords(indexes, jp, currentPath + validateKey(jp.getCurrentName()) + "/", consumer);
        } else if (nextToken == VALUE_NULL) {
            if (inArray) {
                currentPath = path + toArrayIndexPath(arrayIndex) + "/";
            }
            consumer.accept(JsonRecord.of(currentPath, String.valueOf(NULL_VALUE_PREFIX), "null", indexFieldValue(indexes, currentPath)));
            if( inArray ) {
                arrayIndex++;
            } else {
                return;
            }
        } else if (nextToken.isScalarValue()) {
            if (inArray) {
                currentPath = path + toArrayIndexPath(arrayIndex) + "/";
            }

            String value = jp.getValueAsString();
            String ovalue = null;

            if( nextToken == JsonToken.VALUE_STRING ) {
                value = STRING_VALUE_PREFIX + value; //NOPMD
            } else if( nextToken == JsonToken.VALUE_NUMBER_INT || nextToken == JsonToken.VALUE_NUMBER_FLOAT ) {
                ovalue = value; // hold on to the original number in th ovalue field.
                value = toLexSortableString(value); // encode it so we can lexically sort.
            } else if( nextToken == JsonToken.VALUE_TRUE ) {
                ovalue = value;
                value = String.valueOf(TRUE_VALUE_PREFIX);
            } else if( nextToken == JsonToken.VALUE_FALSE ) {
                ovalue = value;
                value = String.valueOf(FALSE_VALUE_PREFIX);
            }

            consumer.accept(JsonRecord.of(currentPath, value, ovalue, indexFieldValue(indexes, currentPath)));
            if( inArray ) {
                arrayIndex++;
            } else {
                return;
            }
        } else if (nextToken == END_OBJECT) {
            if( inArray ) {
                arrayIndex++;
            } else {
                return;
            }
        } else if (nextToken == START_ARRAY) {
            inArray = true;
        } else if (nextToken == END_ARRAY) {
            return;
        }
    }
}