У меня есть файл с некоторыми данными и параметрами конфигурации, которые мне нужно изменить, прежде чем использовать его в качестве данных тела для вызова POST rest.
Поэтому я использую slurper для получения значения конфигурации
JsonSlurper slurper = new JsonSlurper()
def inputFile = new File("file.json")
def parsedInput = slurper.parse(inputFile)
Затем я меняю нужный параметр конфигурации
parsedInput.config.id = 1
Затем измененный входной файл записывается во временный файл.
def tempFile = new File("temp.json")
tempFile.write(JsonOutput.toJson(parsedInput))
Я был очень удивлен, когда понял, что выходной файл в три раза больше, чем входной. Я проверил содержимое, и похоже, что slurper изменил точность поплавка.
До модификации
0.145,
0.144,
0.145,
После модификации
0.1459999999999999908961711980737163685262203216552734375,
0.1449999999999999900079927783735911361873149871826171875,
0.1459999999999999908961711980737163685262203216552734375
Есть идеи, как это исправить?
РЕДАКТИРОВАТЬ 1: добавлены некоторые входные данные