JSON - Java Eclipse java.lang.ClassCastException: целое число не может быть приведено к java.lang.Double - PullRequest
0 голосов
/ 02 мая 2018

Я сейчас работаю с MongoDB и Java в Eclipse. Я хочу представить координаты в API Карт Google из документа JSON.

У меня в документе JSON два атрибута, широта и долгота, оба они двойные. Но когда я делаю это:

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();

Второй, долгота, дай мне эту ошибку:

java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Double

Как это решить?

ПОСТАНОВИЛИ:

Спасибо за попытку помочь мне. Наконец я решил эту проблему. Проблема заключалась в импорте, потому что когда я делаю импорт JSON в базу данных MongoDB, эта база данных назначает тип данных, который хочет БД, поэтому некоторые данные широты и долготы имеют тип Int32, а другие данные имеют тип Double.

Привет.

1 Ответ

0 голосов
/ 02 мая 2018

Документация Document.getDouble(String) гласит:

Броски: ClassCastException - если значение не двойное

Значение, очевидно, равно Integer, поэтому вместо него используйте getInteger.

...