如何在scala视图中访问子对象节点

时间:2015-12-17 09:19:15

标签: java json scala playframework

//这是我的控制器的一部分

@Transactional(readOnly = true)
public Result list() {
    List models = EmployeeService.paginate();
    Long count = EmployeeService.count();    
  ObjectNode result = Json.newObject();
    result.put("data",Json.toJson(models));
   result.put("total", count);
    return ok(result);
}

//这是我的观点index.scala.view

@(a: Object)
<html>
</head>
<body >
@a.data[0].id

</body>
</html>

这使得&#34;数据不是对象&#34;

的成员

{&#34;数据&#34;:[{&#34; ID&#34;:9,&#34; sms_limit&#34;:&#34; 10000&#34;&#34; sms_counter&# 34;:&#34; 0&#34;}]}

我如何访问id和sms-limit?

1 个答案:

答案 0 :(得分:0)

我不知道您的具体要求,但如果您想找到id和sms_limit的值,可以使用此

val json:Option[Any] = JSON.parseFull("{"data":[{"id":9,"sms_limit":"10000","sms_counter":"0"}]}")
val list:Map[String,Any] = json.get.asInstanceOf[Map[String,Any]
for((key,value)<-list)
{
key match 
{
case "data" => var t=value.asInstanceOf[List[String,Any]]
             for((x,k)<-t )
               {
                  x match 
                     {
                        case "id " => println(k)
                        case "sms_limit" => println(k)
                        case _ =>
                      }

                }
case _ =>

}

这不是一个好的方法,但是如果你知道你的文件将来可能不会改变那么