HOME > 問題解決一覧 > [Play Framework 2.5][Scala]JSON形式でレスポンスを返したい
Play Framework(Scala)でJSONレスポンスを返却したいのですがどのようにすればいいのでしょうか。
環境
Play FrameworkでJSONレスポンス返すのはとても簡単です。
/api/test
にリクエストしたらJSONをレスポンスとして返す例です。
conf/routes
GET /api/test controllers.SampleController.testJson()
このようにplay.api.libs.json
のライブラリをインポートしてコレクションデータをJson.toJson()
メソッドの引数に セットしたOkメソッドを実行するだけです。
また、.as("application/json; charset=UTF-8")
でJSON用のheaderを追加しています。
app/controllers/SampleController.scala
class SampleController @Inject() (val messagesApi: MessagesApi) extends Controller with I18nSupport {
def testJson() = Action { implicit request =>
import play.api.libs.json._
val json = Map[String,String]("Scala"->"スカラ","Java"->"ジャバ","Ruby"->"ルビー")
Ok(Json.toJson(json)).as("application/json; charset=UTF-8")
}
}
activator run
して下記にアクセスすればJSONが返っているのが確認できます。
この記事に関する質問やご意見・ご感想がありましたら、下記よりコメントください。
Githubアカウントでログインしていれば誰でも投稿できます。