我在這種情況下使用彈簧引導。和Rest控制器來返回數據。自定義JSON與循環彈簧
下面是使用crudrepository的JSON我現在所擁有的數據庫來自:
{
forms: [
{
paent: "",
posx: 1,
fieldname: "CostCenter",
posy: 1,
ishidden: false,
level: 0,
recordname: "CostCenter",
isrequired: true,
inputtype: "text",
issearchable: true,
label: "Cost Center",
seq: "1",
isenabled: false
},
{
parent: "CostCenterDetail",
ishidden: false,
level: 1,
recordname: "CostCenter",
isrequired: true,
inputtype: "text",
issearchable: false,
label: "Description",
posx: 1,
fieldname: "Description",
posy: 2,
seq: "5",
isenabled: true
},
{
parent: "CostCenterDetail",
ishidden: false,
level: 1,
recordname: "CostCenter",
isrequired: false,
inputtype: "text",
issearchable: false,
label: "Created User",
posx: 1,
fieldname: "CreateUserID",
posy: 4,
seq: "6",
isenabled: false
},
{
parent: "CostCenterDetail",
ishidden: false,
level: 1,
recordname: "CostCenter",
isrequired: false,
inputtype: "date",
issearchable: false,
label: "Created User",
posx: 2,
fieldname: "CreateDate",
posy: 4,
seq: "7",
isenabled: false
},
{
parent: "CostCenterDetail",
ishidden: false,
level: 1,
recordname: "CostCenter",
isrequired: false,
inputtype: "date",
issearchable: false,
label: "Created User",
posx: 2,
fieldname: "UpdateDate",
posy: 5,
seq: "9",
isenabled: false
},
{
parent: "CostCenterDetail",
ishidden: false,
level: 1,
recordname: "CostCenter",
isrequired: true,
inputtype: "date",
issearchable: false,
label: "Effective Date",
posx: 1,
fieldname: "Effdt",
posy: 1,
seq: "3",
isenabled: true
},
{
posx: 1,
fieldname: "CostCenterDetail",
posy: 2,
ishidden: false,
level: 0,
recordname: "Dummy",
isrequired: false,
inputtype: "scroll",
issearchable: false,
label: "Cost Center Detail",
seq: "2",
isenabled: true
},
{
parent: "CostCenterDetail",
ishidden: false,
level: 1,
recordname: "CostCenter",
isrequired: false,
inputtype: "text",
issearchable: false,
label: "Created User",
posx: 1,
fieldname: "UpdateUserID",
posy: 5,
seq: "8",
isenabled: false
},
{
parent: "CostCenterDetail",
ishidden: false,
level: 1,
recordname: "CostCenter",
isrequired: true,
inputtype: "text",
issearchable: false,
label: "Status",
posx: 2,
fieldname: "Status",
posy: 1,
seq: "4",
isenabled: true
}
]
}
這是問題所在。我想循環我的控制器上的JSON,所以每次我發現我的「級別」正在改變,我需要添加這個「[]」,所以我的「級別:1」數據將在一個新的數組中。
例如:
{
forms : [
{
level:0,
---data--
[ {
level : 1,
--- data---
}
]
}
]
}
這裏是我的休息控制器:
@RequestMapping(value = "/alltable" ,method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseStatus(value = HttpStatus.OK)
public String test() {
JSONObject outerObject = new JSONObject();
outerObject.put("forms", pspnlRepository.findAll());
return outerObject.toString();
}
我怎麼能環通過我的JSON和添加的json裏面一個新的陣列? 任何幫助將非常有用 謝謝!
編輯
這裏是我的倉庫代碼:
public interface pspnlRepository extends CrudRepository<pspnlfield, Long>{
Iterable<pspnlfield> findAll();
}
1.你嘗試過什麼? 2.你可以嘗試使用Gson ... JsonArray和JsonElement – Atul
我嘗試jsonarray但是我不知道如何搜索一個特定的鍵並在@Atul內添加[] –
「forms」是一個JsonArray,它是一個集合一個JSONObjects。你迭代使用循環,並檢查JsonObject,並通過使用jsonObject.get(「級別」)找到值...讓我知道如果你需要進一步的幫助 – Atul