Как преобразовать объект oracle SDO_GEOMETRY в geoJson с помощью Gson? - PullRequest
1 голос
/ 28 октября 2011

Вот код, который я пробовал:

 if(rs.next()){
    Gson gson = new Gson();
    STRUCT st =  (STRUCT) rs.getObject(1);
    JGeometry j_geom = JGeometry.load(st);
    System.out.println(" gson.toJson(j_geom)  "+gson.toJson(j_geom));
 }

Но я получаю эту ошибку:

java.lang.IllegalArgumentException: NaN is not a valid double value as per JSON specification. To override this behavior, use GsonBuilder.serializeSpecialDoubleValues() method.

Не могу найти способ разобраться.

1 Ответ

0 голосов
/ 28 октября 2011

Вы пробовали использовать GsonBuilder.serializeSpecialFloatingPointValues()?В исключении упоминается serializeSpecialDoubleValues(), который, по-видимому, не существует.

В JavaDoc говорится:

Раздел 2.4 Спецификация JSON запрещает специальные двойные значения (NaN, Бесконечность, бесконечность).Однако спецификация Javascript (см. Раздел 4.3.20, 4.3.22, 4.3.23) позволяет использовать эти значения в качестве допустимых значений Javascript.Более того, большинство движков JavaScript без проблем примут эти специальные значения в JSON.Таким образом, на практическом уровне имеет смысл принять эти значения как допустимые JSON, даже если спецификация JSON их запрещает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...