有沒有辦法循環每個類的成員變量?這是微不足道的列表和數組,但我必須構建每個JSON字段映射的情況下,類成員變量來使用Play框架的讀/驗證API斯卡拉foreach成員變量
1
A
回答
2
你的意思是這樣:
case class SomeClass(a: Int, b: Int)
SomeClass(1,2).productIterator.foreach{ a => println(a)}
這會給你輸出:1 2
或者如果你想從json構造一個對象。您可以定義讀取你的情況類deserialises JSON給你的對象:
override def reads(json: JsValue): JsResult[SomeClass] = JsSuccess(SomeClass(
(json \ "a").as[Int],
(json \ "b").as[Int]
)
)
然後使用deserialisation:
val json = Json.obj() //Your json
json.validate[SomeClass]
json.fold(
errors => {
Json.obj("status" -> "Not OK", "message" -> JsError.toJson(errors))
},
preset => {
Json.obj("status" -> "OK")
}
)
+0
謝謝,我已經做了一個類對象的轉換。 productIterator部分就是我所需要的。 – kliew
1
如果你想比較Json
並獲得差異,可能會更好地利用JsObject
方法?例如fieldSet
將所有字段作爲一組返回。您可以在前一個和當前字段集上使用diff
來獲取更改的字段。這是快速解決方案,沒有任何特定的類。
相關問題
- 1. 斯卡拉計數變量
- 2. 斯卡拉傳遞變量
- 3. 斯卡拉foreach返回
- 4. 斯卡拉地圖的foreach
- 5. 斯卡拉方式初始化成員?
- 6. 斯卡拉無法解析繼承Java接口不變成員
- 7. 斯卡拉2.8Beta1演員
- 8. 斯卡拉演員左掛
- 9. 單身斯卡拉演員?
- 10. 斯卡拉遠程演員
- 11. 斯卡拉 - 基於列表成員變量值將列表轉換爲HashMap
- 12. 斯卡拉。映射後的空變量
- 13. 因變量的斯卡拉地圖
- 14. 斯卡拉匹配變量傳遞
- 15. 斯卡拉最終靜態變量
- 16. 斯卡拉變量與多種類型
- 17. 斯卡拉變量的打印類型
- 18. 斯卡拉模板中設置變量
- 19. 斯卡拉演員和工作人員
- 20. 斯卡拉 - 保持地圖中的foreach
- 21. 斯卡拉理解與的foreach
- 22. 斯卡拉foreach與單位通過
- 23. 轉換斯卡拉的foreach到.MAP
- 24. 斯卡拉:Traversable的定義的foreach
- 25. 斯卡拉返回值計算在foreach
- 26. 播放斯卡拉阿卡的WebSockets改變演員路徑
- 27. 查找類領域合成成員斯卡拉
- 28. 斯卡拉方式/成語
- 29. 斯卡拉進程生成
- 30. 斯卡拉職能轉變
你能澄清嗎?你的意思是迭代類實例中的每個屬性? – 7zark7
是的,這就是我的意思 – kliew
從你的問題我有一種感覺,你做錯了什麼。你可以詳細說明你正在嘗試做什麼,舉個例子吧? –