我正在使用json的播放框架2原生支持(http://www.playframework.org/documentation/latest/ScalaJson),我有一个JsValue,我正在转换为字符串以将其保存为文本文件,像这样
val json: JsValue = [....]
Json.stringify(json)
哪种方法很好,但生成的内容如下:
{"tokens":[{"id":"1000","token":"DON...
我想知道是否有一种简单的方法来生成像这样的格式化的json
{
"tokens":
[
{
"id":"1000",
"token":"DON...
答案 0 :(得分:1)
我使用了liftweb JSON包及其Printer
对象/特征。工作“非常好”:
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)
)
}
}
}