【问题标题】:play framework 2 with scala: pretify json使用 scala 玩框架 2:美化 json
【发布时间】:2012-11-11 18:29:51
【问题描述】:

我正在使用对 json (http://www.playframework.org/documentation/latest/ScalaJson) 的 play framework 2 本机支持,并且我有一个 JsValue,我将其转换为字符串以将其保存为文本文件,像这样

val json: JsValue = [....]
Json.stringify(json)

效果很好,但会生成如下内容:

{"tokens":[{"id":"1000","token":"DON...

我想知道是否有一种简单的方法可以生成这样的格式化 json

{
  "tokens":
    [
      {
        "id":"1000",
        "token":"DON...

【问题讨论】:

标签: json scala playframework-2.0


【解决方案1】:

我使用了带有 Printer 对象/特征的 liftweb JSON 包。工作“相当”好:

import play.api._
import play.api.mvc._
import play.api.libs._, concurrent._, json._

import com.mongodb.casbah.Imports.{MongoConnection, MongoCursor, WriteConcern}
import com.mongodb.casbah.query.Imports._
import com.novus.salat.json._

import net.liftweb.json.{render => jsonRender, _}    

class Application extends Controller {

def getJson(id: String) = Action { implicit request =>
  val objPromise = Akka.future(Database.getById(id))
  Async {
    objPromise.orTimeout("Error", 1000).map { o =>
      o.fold(
         hit => Ok(hit.map{ o: DBObject => pretty(jsonRender(ToJValue(o)))}.getOrElse("")).as("text/json"),
         timeout => InternalServerError(timeout)
      )
    }
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-03
    • 2016-03-08
    • 2015-09-21
    • 1970-01-01
    相关资源
    最近更新 更多