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"))
}
我正在使用 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"))
}