Как получить большое число из ответа JSON с помощью Groovy

#json #groovy #ready-api

#json #groovy #готовый api

Вопрос:

В ReadyAPI у меня есть ответ JSON, подобный:

 {
    "Example" : [
       {
         "Name" : "Name_1",
         "Id" : 20100202141652076488478
      }]
}
  

Теперь я хочу получить этот идентификатор с помощью Groovy и сохранить его в свойстве в ReadyAPI. Проблема в том, что это число слишком велико и изменено на -6748898691334772962

Перед использованием JsonSlurper я вижу, что значение правильное. После JsonSlurper он меняется на -6748898691334772962

Какие у меня есть варианты сохранить 201002021416520764888478?

Комментарии:

1. в вашем примере отсутствует закрывающая квадратная скобка ]

2. Да, вы правы.

Ответ №1:

Вы можете использовать

 import grails.converters.JSON

def json = JSON.parse(yourJson)
  

20100202141652076488478 правильно отображается как java.math.BigInteger

Комментарии:

1. Я получаю сообщение «не удается разрешить класс grails.converters.JSON». Итак, теперь я пытаюсь выяснить, почему.

2. Этот ответ требует, чтобы у вас были grails в вашем classpath (или вы писали это как часть приложения grails). Если вы находитесь в чистом groovy (т. Е. Не в проекте grails), у вас не будет JSON класса, упомянутого в этом решении, доступного для вас.