3

私は次のようなケースクラスを持っています

case class Person(firstName: String, lastName: String)

JSONとしてきれいに印刷したいと思います。私は Play Framework 2.1.x 内で作業しています。また、たまたまクラスパスに Salat ライブラリがあるので、それも使用できます。ただし、json4sなどを含むすべてのオプションが何であるかを確認したいと思います.

Scala の JSON ライブラリは急速に進化しています。これは、マクロなどを使用して、すべてのケース クラスに対して数行のコードで (つまり、ケース クラスごとに追加のコードを必要とせずに) 実行できると思います。

play に組み込まれているマクロベースの Json ライブラリを使用できると思いますが、実際の例をいくつか見てみたいと思います。私はいくつかの出発点を知っています:

http://eng.42go.com/working-with-json-in-play-2-1/

https://github.com/novus/salat/wiki/JSON

Scala 2.10、JSON ライブラリとケース クラスの検証/作成への影響

しかし、json4sなどを使った例も見たいです。

4

3 に答える 3

3

Play 2.x のビルトイン JSON サポートが気に入っています。それは機能し、十分に文書化されており、心配する必要のある依存関係が 1 つ減るだけです。

JSON プリティプリントはPerson、2 行 (およびインポート) で実現されます。

import play.api.libs.json._
...
implicit val personFormat = Json.format[Person]
println(Json.toJson(personToWrite))
于 2013-10-28T04:52:29.653 に答える
2

Scala の酸洗いは、これを行うための新しい、有望な方法です。それは本当に速く、とてもシンプルに見えるはずです。

現在のバージョンは 0.8.0-SNAPSHOT で、将来の 0.8.0 は安定したリリースであると宣伝されています。

于 2013-10-27T18:49:16.947 に答える