繁体   English   中英

Scala Play处理JSON对象和数组

[英]Scala Play handling JSON objects and arrays

我正在使用Play WS进行第三方API调用,以获取带有对象列表的JSON对象。 我想遍历此列表,并向每个项目添加键/值。 我是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"))
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM