Scala Play 处理 JSON 个对象和数组

Scala Play handling JSON objects and arrays

我正在使用 Play WS 进行第三方 API 调用以取回带有对象列表的 JSON 对象。我想遍历此列表并向每个项目添加 key/value 。我是 Scala 和类型化语言的新手,在 Scala 中处理 JSON 真的很难。任何帮助将不胜感激。谢谢!

这是我现在拥有的:

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)
}

一旦有了 JsonNode,就必须将其转换为 ObjectNode 才能添加 属性。 例如,有清单: 编辑:

 listings.asInstanceOf[JsArray].value.map{ jsvalue =>
  (jsvalue.asInstanceOf[JsObject]) + ("extra" -> JsString("something"))
}