ree*_*rix 7 scala playframework
假设您正在导入这样的库:
import play.api.libs.json.{__, Writes }
Run Code Online (Sandbox Code Playgroud)
双下划线有什么作用?
小智 9
JsPath是用于创建读/写的核心构建块.JsPath表示JsValue结构中的数据位置.您可以使用JsPath对象(根路径)通过使用类似于遍历JsValue的语法来定义JsPath子实例:
import play.api.libs.json._
val json = { ... }
// Simple path
val latPath = JsPath \ "location" \ "lat"
// Recursive path
val namesPath = JsPath \\ "name"
// Indexed path
val firstResidentPath = (JsPath \ "residents")(0)
Run Code Online (Sandbox Code Playgroud)
play.api.libs.json包定义了JsPath的别名:__(双下划线).如果您愿意,可以使用此方法:
val longPath = __ \"location"\"long"
小智 5
它是从包对象json导入值的:
package object json {
/**
* Alias for `JsPath` companion object
*/
val __ = JsPath
}
Run Code Online (Sandbox Code Playgroud)