Избегайте электронных обозначений с использованием net.sf.json-lib - PullRequest
0 голосов
/ 23 мая 2018

Я использую com.hynnet.json-lib для преобразования XML в JSON.PB здесь состоит в том, что для длинных целых чисел эта библиотека использует экспоненты вместо полного числа.

Могу ли я избежать использования этой библиотеки или мне следует использовать другую?

Мой XML:

<?xml version="1.0" encoding="ISO-8859-15"?>
<rootTag>
    <_id type="number">7000000001</_id>
</rootTag>

Мой код конверсии:

XMLSerializer xmlSerializer = new XMLSerializer();
xmlSerializer.clearNamespaces();
xmlSerializer.setSkipNamespaces(true);
xmlSerializer.setForceTopLevelObject(false);
net.sf.json.JSON json = xmlSerializer.read(xmlString);

Результат json:

{"_ id": 7.000000001E9}

Ожидаемый json:

{"_ id": 7000000001}

1 Ответ

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

enter image description here

Нашли причину такого поведения.Double.valueof (String) возвращает экспоненциальное представление.Ошибка на стороне библиотеки.

...