web-dev-qa-db-ja.com

JSONライブラリ-JacksonまたはPlayフレームワーク?

JavaおよびScalaコードベースで作業している場合、JavaのJackson JSONを使用するかPlay FrameworkのJSONライブラリを使用するかについての議論があります。

Play JSON Docs 、および Play for Scala の第9章(JSON)を読んだ後、 Mykong on Jackson の例も実行しました。 =。

いくつかの簡単な例を見ると、PlayのJSONライブラリは、全体的に、その関数型プログラミングアプローチにより、優れた選択のように見えます。

  • Option/JsResultデータ型でJSONを解析する際のコンパイル時の安全性を提供します。
  • 上記の結果、より高次の関数(map/flatMap)が利用可能になり、パワーと簡潔さを提供します
  • 私が理解しているように、ジャクソンは典型的なtry/catchパラダイムを介して解析します。コンパイル時(再生)と実行時(ジャクソン)でのJSONエラーの処理は簡単です

結論-PlayのJSONライブラリは、Jacksonライブラリよりも推論しやすいコードを生成する関数型プログラミングアプローチを使用しています。

全体として、選択は私には明らかなようです。どちらのライブラリの賛否両論もありませんか?

3
Kevin Meredith

まず、Play ScalaJSONライブラリはJacksonを使用していることに注意することが重要です。実際には、Jacksonが提供する解析/フォーマットエンジンの周りのラッパーなので、非常に優れた代替手段です。それは非常に高速なエンジンの周りに素敵なAPIを提供します。

さて、JSON作業のために今日選択するライブラリは Argonaut になります。 Argonautは完全に機能的なライブラリであり、私はその決定の多くを気に入っています。

あなたが得ることができる最も速い速度を必要としない限り、私はジャクソン自体を選ぶことには本当に何の意味もないと思います。

2