2015-04-05 106 views
1

得到字段名鉴于以下JSON ...游戏框架:如何从Json的

{ 
    "fieldOne": "valueOne", 
    "fieldTwo": "valueTwo" 
} 

...我如何才能字段名称与播放JSON库(斯卡拉版)fieldOnefieldTwo?我需要这个,因为在我的用例中,字段名称可能会根据上下文而改变。

回答

3

一旦你有一个JsObject,您可以拨打keys

val js = Json.parse("""{ 
    "fieldOne": "valueOne", 
    "fieldTwo": "valueTwo" 
}""") 

js.transform[JsObject].map(_.keys) 

随着你得到一个JsResult[Set[String]],您可以决定如何处理错误处理。

+0

可悲的是这似乎不符合比赛的Json 2.4.2工作。我收到一个编译器错误:“缺少特征JsReadable中的方法转换参数” – BeepDog 2015-09-11 21:07:39

2

在玩的Json 2.4.3,至少,你的语法有点不同:

val js = Json.parse("""{ 
    "fieldOne": "valueOne", 
    "fieldTwo": "valueTwo" 
}""") 

js.as[JsObject].fields 
//or 
js.as[JsObject].fieldSet