2014-12-05 20 views

Trả lời

8

JsPath là một khối xây dựng cốt lõi để tạo Đọc/Viết. JsPath đại diện cho vị trí của dữ liệu trong một cấu trúc JsValue. Bạn có thể sử dụng đối tượng JsPath (đường dẫn gốc) để xác định một trường hợp trẻ JsPath bằng cách sử dụng cú pháp tương tự để vượt qua JsValue:

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) 

Gói play.api.libs.json định nghĩa một bí danh cho JsPath: __ (gạch dưới đôi). Bạn có thể sử dụng nếu bạn thích:

val longPath = __ \ "location" \ "dài"

+0

Bí danh này '__' không còn có sẵn trong phiên bản 2.6 không? Tôi nhận được lỗi Không tìm thấy ngay cả sau khi nhập 'play.api.libs.json._' – nir

4

nó là một nhập khẩu của một giá trị từ đối tượng gói json:

package object json { 

    /** 
    * Alias for `JsPath` companion object 
    */ 
    val __ = JsPath 

} 
+0

Bạn có biết nếu điều này chỉ được chơi danh pháp hoặc một điều Scala cũng? – reectrix

+1

Không có gì trong ngôn ngữ, thậm chí không theo phong tục, chỉ hai dấu gạch dưới tạo một số nhận dạng hợp lệ (trong khi một dấu gạch dưới là từ khóa) –

Các vấn đề liên quan