zoukankan      html  css  js  c++  java
  • play framework 中耍 JSON 基礎

    首先要知道有JsValue

    JsNumber, JsString, JsObject, JsArray.. 都是 JsValue的小孩(專業一點說extends from JsValue trait)

    Json是工具類(object喔) Josn.obj, Json.arr, Json.toJson

    JsPath 按字面上來說就是Json的路徑相關的, 主要描述 key 而不是 value 就是橘色些字

    {
      "name" : "Watership Down",
      "location" : {
        "lat" : 51.235685,
        "long" : -1.309197
      }
    }

    JsObject 相當於一個完整的tuple, Object的意思是有lat和long這兩的屬性的對象

      "location" : {
        "lat" : 51.235685,
        "long" : -1.309197
           }

    JsNumber 就可以理解成 "long" : -1.309197, 我想其他的JsString, JsArray..大家也就懂了

    耍些工具, 耍之前不要忘了 import play.api.libs.json._

    val jsonString: JsString = Json.toJson("I can be JsString")

    val jsonNumber: JsNumber = Json.toJson(100)

    val jsonArrayOfInts = Json.toJson(List(1,2,3))

    val jsonEmployee = Json.toJson(new Employee("henry")) //別想了, 哪有這麼好

    Json.toJson[T](T)(implicit writes: Writes[T]) 用的這麼爽是因為有隱式參數,幫你轉換

    來些code

    case class Employee(name: String)

    implicit val employeeWrites = new Writes[Employee] {

      def writes(employee: Employee) = Json.obj(

        "name" -> employee.name

        )

    }

    val jsonEmployee = Json.toJson(new Employee("henry")) //可以轉換了, 隱式會自動把employeeWrites 當成writes參數

  • 相关阅读:
    更新增加一个门店ID字段的值
    测试成功,修改能运行代码--待优化
    奶粉运营,跑数据三个模板。
    子查询返回多条报错误
    分析跑数口径与表内在关系逻辑
    NAVICAT PREMIUM 初识
    长沙生活
    金蝶用户操作
    EXCEL对比重复数据
    处理链长期检查问题
  • 原文地址:https://www.cnblogs.com/jHenry/p/3723587.html
Copyright © 2011-2022 走看看