如何遍历对象数组类型的属性

时间:2014-10-29 16:32:07

标签: rythm

我是一个完全不喜欢的新手,并且陷入了我的一个简单测试(在此测试:http://fiddle.rythmengine.com/

我想在一个简单的例子中解释这个问题最简单:

我的JSON输入参数:

{myObj: 
 {name: "test", values: [ {id: 1}, {id: 2} ]
 }
}

所以values属性是一个对象数组 - 这些对象只有一个属性id

我的测试模板:

@args Object myObj
Hello @myObj.name@

@for (Object v: myObj.values) {
  @// this fails
}

这失败了:

org.rythmengine.exception.CompileException: values cannot be resolved or is not a field

这里有什么问题?

即。在循环之外,我可以访问myObj.values

@args Object myObj
Hello @myObj.name@

@myObj.values@

1 个答案:

答案 0 :(得分:2)

您将myObj声明为Object,但根本没有value属性。

解决方案:

使您的JSON字符串看起来像:

{ 
name: "test", values: [ {id: 1}, {id: 2} ]
}

您的模板代码:

@args String name, Map[] values

Hello @name@

@for (Map v: values) {
  @v.get("id")
}

结果:

Hello test
 1
 2

http://fiddle.rythmengine.com/

上进行测试