spray-json

时间:2016-08-26 19:51:04   收藏:0   阅读:1207

spray-json是一个轻量级的,简介的和高效的使用Scala实现的json

它拥有以下特征:

spray可以做以下转换:

*JSON字符串

*基于JsValue的JSON抽象语法树(JSON Abstract Syntax Tree(ASTs))

*任意的scala类型的实例

如下图描述

技术分享

安装

spray-json 可以从 http://repo.spray.io/仓库获得

最终的发布版本是1.3.2 ,对应的构建在scala 2.10.5和scala 2.11.6

如果你使用SBT 使用下面方依赖将spray-json加入到你的项目中

libraryDependencies += "io.spray" %%  "spray-json" % "1.3.2"

 

使用方法

 spray-json 非常容易使用.

仅仅需要导入相关方法

import spray.json._
import DefaultJsonProtocol._ //如果你不提供自己的协议(见下文)

如下样例:

val source = """{ "some": "JSON source" }"""
val jsonAst = source.parseJson // or JsonParser(source)

输出:

source: String = { "some": "JSON source" }
jsonAst: spray.json.JsValue = {"some":"JSON source"}
val json = jsonAst.prettyPrint //格式化输出
val json1 = jsonAst.compactPrint //输出一行

输出:

json: String = {
  "some": "JSON source"
}
json1: String = {"some":"JSON source"}
val jsonAst = List(1, 2, 3).toJson

输出:

jsonAst: spray.json.JsValue = [1,2,3]
val jsonAst = List(1, 2, 3).toJson
jsonAst.convertTo[List[Int]]

输出:

res0: List[Int] = List(1, 2, 3)

为了使对象的步骤3和步骤4的工作你需要指定隐式类型的值的范围,提供JsonFormat[T]实例为T,T(直接或间接)所使用的所有类型。

 

原文:http://www.cnblogs.com/weilunhui/p/5811472.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!