【发布时间】:2016-06-07 08:05:28
【问题描述】:
在这种情况下,我使用的是弹簧靴。和 Rest 控制器返回数据。
这是我现在使用 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
-
我尝试使用 jsonarray 但是我不知道如何搜索特定键并在 @Atul 中添加 []
-
“表单”是一个 JsonArray,它是 JsonObject 的集合。您使用循环进行迭代并检查 JsonObject 并使用 jsonObject.get("level") 查找值...如果您需要进一步帮助,请告诉我
-
得到了逻辑,不知道如何编码。任何可以帮助的来源可能是@Atul
-
要添加到 json 的数组元素的类型是什么?
pspnlRepository.findAll()的返回类型是什么??