如何将Squeryl查询对象转换为JSON-Play框架 案例

如何将Squeryl查询对象转换为JSON-Play框架 案例,json,scala,playframework,playframework-2.0,squeryl,Json,Scala,Playframework,Playframework 2.0,Squeryl,本案例使用Scala、Play Framework、Jerkson和Squiryl。我试图将查询结果集转换为JSON,但结果仅显示“persistend”字段 问题: 为什么Json.generate()没有打印所有实体字段 控制器 类别实体 基本实体 问题 结果 预期 这可能不是最好的解决方案,但当我将JsonProperty导入并声明到为我工作的字段中时: package models import org.squeryl.KeyedEntity import org.squeryl.an

本案例使用Scala、Play Framework、Jerkson和Squiryl。我试图将查询结果集转换为JSON,但结果仅显示“persistend”字段

问题: 为什么Json.generate()没有打印所有实体字段

控制器 类别实体 基本实体 问题 结果 预期
这可能不是最好的解决方案,但当我将JsonProperty导入并声明到为我工作的字段中时:

package models

import org.squeryl.KeyedEntity
import org.squeryl.annotations._
import org.squeryl.PrimitiveTypeMode._
import org.codehaus.jackson.annotate.JsonProperty


case class Category(val id: Int = 0,
                    @JsonProperty("uid")
                    val uid: String,
                    @JsonProperty("title")
                    val title: String) extends KeyedEntity[Int] {

}
结果

[
  {
    id: 3,
    uid: "biology",
    title: "Biology"
  },
  {
    id: 1,
    uid: "general-chemistry",
    title: "General Chemistry"
  },
  {
    id: 4,
    uid: "organic-chemistry",
    title: "Organic Chemistry"
  },
  {
    id: 2,
    uid: "physics",
    title: "Physics"
  }
]

我从James Ward,Ryan Knight的文章中得到了这个例子:
package models;

import java.sql.Timestamp    
import org.squeryl._
import org.squeryl.annotations.{Column}
import org.squeryl.PrimitiveTypeMode._

class FlashcardsDbObject extends KeyedEntity[Long] {

  val id: Long = 0

  @Column("created_at")
  var createdAt = new Timestamp(System.currentTimeMillis)


  @Column("updated_at")
  var updatedAt = new Timestamp(System.currentTimeMillis)

}
{
  persisted: true
},
{
  persisted: true
},
{
  id: 1,
  uid: 'chemistry',
  title: 'Chemistry'
  persisted: true
},
{
  id: 2,
  uid: 'biology',
  title: 'Biology'
  persisted: true
},
package models

import org.squeryl.KeyedEntity
import org.squeryl.annotations._
import org.squeryl.PrimitiveTypeMode._
import org.codehaus.jackson.annotate.JsonProperty


case class Category(val id: Int = 0,
                    @JsonProperty("uid")
                    val uid: String,
                    @JsonProperty("title")
                    val title: String) extends KeyedEntity[Int] {

}
[
  {
    id: 3,
    uid: "biology",
    title: "Biology"
  },
  {
    id: 1,
    uid: "general-chemistry",
    title: "General Chemistry"
  },
  {
    id: 4,
    uid: "organic-chemistry",
    title: "Organic Chemistry"
  },
  {
    id: 2,
    uid: "physics",
    title: "Physics"
  }
]