假设您正在导入这样的库:
import play.api.libs.json.{__, Writes }
双下划线有什么作用?
答案 0 :(得分: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)
play.api.libs.json包定义了JsPath的别名:__(双下划线)。如果您愿意,可以使用它:
val longPath = __ \" location" \"长"
答案 1 :(得分:5)
它是从包对象json:
导入的值package object json {
/**
* Alias for `JsPath` companion object
*/
val __ = JsPath
}