Как получить целое число вместо числа с плавающей запятой в разобранном json - PullRequest
0 голосов
/ 05 августа 2020

Новое в scala. Вот мой код:

  response = HttpResponse(endpoint)
  println ("response::" + response)
  val parsedJsonscala.util.parsing.json.JSON.parseFull(response.httpResponse.body) 
   println ("parsed::" +  parsedJson)

  val result = scala.util.parsing.json.JSON.parseFull(response.httpResponse.body).map {
    case json: Map[String, Any] =>
      json("Id")
  }.get

Когда я его распечатываю, я получаю:

(response::,{"Id":3416824,"pId":21734944})
parsed::Some(Map(Id -> 3416824.0, pId -> 2.1734944E7))

Как мне получить ответы для Id и pID именно такими, какие они есть ответ. Единственный вариант - преобразовать обратно в целое число после его извлечения? Это звучит неправильно, поскольку мне нужно проверить, имеет ли ответ только целые значения. Как мне извлечь как есть в scala.

1 Ответ

1 голос
/ 05 августа 2020

Рекомендуем использовать Джексон

case class MyObject (Id: Int, pId: Int)
val mapper = = new ObjectMapper()
mapper.registerModule(DefaultScalaModule)  
val data = mapper.readValue(response.httpResponse.body, classOf[MyObject])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...