我有一个存储在Mongo中的Json对象,如下所示。它是“扁平的”,即没有嵌套元素:
{
"key1" : "val1",
"key2" : "val2",
....
"keyn" : "valn"
}
我把它作为JsArray取出来了。我还有一个案例类:
case class IndividualProduct(key1: String, key2: String, ... , key_n: String) {}
总共Json将拥有超过40个键/值对。是否有一种简洁的方法可以将JsArray解析为case类而无需详细地引用键?
提前感谢 - 未来[谢谢]
答案 0 :(得分:1)
import play.api.libs.json._
implicit val reader = Json.reads[IndividualProduct]
val ip = Json.fromJson[IndividualProduct](fetchedJsObj)
答案 1 :(得分:0)
这不是JsArray
,而是Map[String, String]
。
所以,如果你有一个像你所展示的那样的json,那么这是可行的:
val json = getYourJsonFromDB()
val kv = json.as[Map[String, String]]
现在你可以做这样的事情:
val valueForKey13 = kv.get("key13") //returns an Option[String]
希望这有帮助