Сохранять конечные нули при разборе Json с помощью jayway JsonPath - PullRequest
0 голосов
/ 13 мая 2019

Я использую jayway json-path - 2.4.0 для анализа Json. При синтаксическом анализе json, если json содержит какое-либо двойное значение, его усекаются завершающие нули. Например, у меня есть строка Json, как показано ниже.

{"name": "Paddy", "value": 60.10}

И мой код:

package com.test;

import com.jayway.jsonpath.DocumentContext;
import com.jayway.jsonpath.JsonPath;
import java.math.BigDecimal;

public class TestClas {

  public static void main(String[] args) {

    String value = "{\"name\" : \"Paddy\" , \"value\": 60.10}";
    DocumentContext docCtx = JsonPath.parse(value);
    JsonPath jsonPath = JsonPath.compile("$.value");
    Object result = docCtx.read(jsonPath);
    System.out.println(result);
  }
}

И он просто печатает 60.1, но мне нужно 60.10. Как получить результат без усечения конечных нулей.

1 Ответ

1 голос
/ 13 мая 2019

Вы не указываете тип - вы просто используете Object - поэтому он выбирает Double автоматически.Double не имеет понятия конечных нулей: это аспект того, как число отображается .

См. Что возвращается, когда?

...