0
JSONをレスポンスとして取得しているサーバー上で利用可能なドキュメントを取得するために、安らかなサービスを呼び出しています。今JSON Stringをビルドするときに2つのループを繰り返します。
{
"results": [
{
"result": {
"name": "Test traisy",
"version": "sdvdsv",
"author": "sdvdsv"
}
},
{
"result": {
"name": "Jaspersoft Ultimate guide",
"version": "sdfdsv",
"author": "sdvdsv"
}
},
{
"result": {
"name": "Dohrn",
"version": "12.19.00",
"author": "sdfdsf"
}
}
]
}
コード
String accept = getValue("Accept");
accept = "application/xml";
if ("application/xml".equals(accept)){
builder=new groovy.xml.MarkupBuilder(writer);
}else{
builder=new groovy.json.JsonBuilder();
}
builder{
results foaList.collect{
[
//Here I want to loop through the otaList to do something like that "ota.getName(), foa.getFlexiObject().getByString(ota.getName())"
result: [
name: it.getFlexiObject().getByString("name"),
version: it.getFlexiObject().getByString("version"),
author: it.getFlexiObject().getByString("author")
]
]
}
}
:このリンク
http://localhost:8080/httpConnector/Rest/Documents?Accept=application/json
私は下にJSON文字列を取得していますを呼び出すときに、私はそうJSONBuilderでJSON文字列を構築しています私はプログラムでプロパティを追加したい。したがって、私はそのようなことをするためにotaListをループする必要があります
builder.'results'() {
for(FlexiObjectAttachment foa: foaList){
for(ObjectTypeAttribute ota : otaList){
param.put(ota.getName(), foa.getFlexiObject().getByString(ota.getName()));
}
result(param);
}
}
このバージョンはxml resposeのためだけに機能します。