2014-10-29 37 views
1

的數組類型的我是一個總的節奏新手,就死在我的簡單測試一個(在這裏測試:http://fiddle.rythmengine.com/)的屬性我想這是最簡單的解釋一個問題如何循環對象

簡單的例子:

我的JSON輸入ARGS:

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

這樣的值屬性是對象的陣列 - 並且這些對象只能有一個屬性id

我的測試模板:

@args Object myObj 
Hello @[email protected] 

@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 @[email protected] 

@[email protected] 

回答

2

你宣佈myObjObject不具備value財產可言。

解決方案:

讓你的JSON字符串的樣子:

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

模板代碼:

@args String name, Map[] values 

Hello @[email protected] 

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

結果:

Hello test 
1 
2 

測試在http://fiddle.rythmengine.com/

+0

我無法更改JSON - 真正的JSON要複雜得多,我從外部獲取它。因此,重申了這個問題:「如何迭代給定的JSON數據中的值」?如果可能的話...... – 2015-03-30 08:15:32

+0

最好定義一個映射到你得到的JSON結構的類,然後使用該java類聲明你的Rythm模板參數 – 2015-03-30 10:04:48