Я использую jayway JsonPath
. Предположим, у меня Json
вот так:
JSONObject:
{
"balance": 50000000000000.0
}
jspath: $.balance
val response =JsonPath.parse(jsonObject).read(jsPath).toString
println("response: ", response )
здесь я получаю значение как "response: 5.0E7"
, но я хочу его как "50000000000000.0"
Я знаю, как конвертировать из двойной в строку. Но в моем случае я должен вызвать внешний Rest API, и я получу json в качестве ответа, основываясь на jspath, который должен получить исходное значение. Это означает, что один и тот же код должен работать с строковым, целочисленным и двойным типами с исходным содержимым, но не с определенным форматом содержимого.
{
"balance": "50000000000000.0" (here balance is string)
}
expected: 50000000000000.0 result: 50000000000000.0
{
"balance": 50000000000000.00 (here balance is double)
}
expected: 50000000000000.0 result: 5.0E7(but I need 50000000000000.0)
Один и тот же код, он должен работать для обоих сценариев, или есть какая-то другая библиотека, чтобы получить это решение, или есть шанс получить тип возвращаемого значения из read (), поэтому с помощью обработки исключений я могу справиться с этим.