JSON - Java Eclipse java.lang.ClassCastException:无法将整数强制转换为java.lang.Double

时间:2018-05-02 16:26:12

标签: java eclipse mongodb integer double

我现在正在Eclipse中使用MongoDB和Java。我想从JSON文档中表示Google Maps API中的坐标。

我在JSON文档中有两个属性,纬度和经度,它们都是双倍的。但是当我这样做时:

Images

第二个,经度,给我这个错误:

List<Pair<Double, Double>> coordenadas = new ArrayList<Pair<Double, Double>>();
    Pair<Double, Double> coordenadasAirport;
    MongoCursor<Document> cursor = collection.find().iterator();
    try {
        while (cursor.hasNext()) {
            Double latitude = cursor.next().getDouble("latitude").doubleValue();
            Double longitude = cursor.next().getDouble("longitude").doubleValue();

如何解决这个问题?

解决:

感谢您试着帮助我。 最后我解决了这个问题。问题是导入,因为当我将JSON导入MongoDB数据库时,此数据库会分配数据库所需的数据类型,因此一些纬度和经度数据的类型为Int32,其他数据的类型为Double。 / p>

问候。

1 个答案:

答案 0 :(得分:1)

Document.getDouble(String)的文档说:

  

抛出:ClassCastException - 如果值不是double

该值显然为Integer,因此请改用getInteger