我在Scala视图页面上使用JsArray,我尝试使用for循环迭代它,但在Scala视图页面上抛出错误,在这里我附加了我的代码,我该如何解决它。
@(jsonArrValue: play.api.libs.json.JsArray)
<html>
<body>
<table>
<thead>
<tr>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr>
@for(x <- jsonArrValue){
<td>@x</td>
}
</tr>
</tbody>
</table>
</body>
</html>
错误:
value map is not a member of play.api.libs.json.JsArray
jsonArrValue包含:
[{"empName":"xxx","age":"23","empNo":"123"},{"empName":"yyy","age":"24","empNo":"1234"}]
答案 0 :(得分:2)
虽然JsArray这个名字可能暗示它是一种收藏品,但事实并非如此。定义:
case class JsArray(value: Seq[JsValue] = List()) extends JsValue with Product with Serializable
清楚地表明了这一点。为什么 for comprehension 不起作用。
我认为迭代它的最好方法是调用它的value()方法转换为Seq [JsValue],然后用于理解。