Scala Play обрабатывает JSON-объекты и массивы - PullRequest
0 голосов
/ 12 октября 2018

Я делаю сторонний вызов API, используя Play WS, чтобы вернуть объект JSON со списком объектов.Я хочу перебрать этот список и добавить ключ / значение к каждому элементу.Я новичок в Scala и типизированных языках, и действительно трудно иметь дело с JSON в Scala.Любая помощь будет принята с благодарностью.Спасибо!

Вот что у меня сейчас есть:

def getAll(filters: String) = Action.async { request =>
  val api_url = API_URL + "search?api_key=" + API_KEY + filters

  ws.url(api_url).get().map { response =>
    val body = response.body
    val json = Json.parse(body)
    val listings = (json \ "listings").get
  }

  // I want to iterate through listings, which is of type JsValue
  // And for each object, I want to add a key/value pair

  Ok(listings)
}

1 Ответ

0 голосов
/ 12 октября 2018

Когда у вас есть JsonNode, вы должны привести его к ObjectNode, чтобы иметь возможность добавить свойство.Например, имея списки: РЕДАКТИРОВАТЬ:

 listings.asInstanceOf[JsArray].value.map{ jsvalue =>
  (jsvalue.asInstanceOf[JsObject]) + ("extra" -> JsString("something"))
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...