forEach遍历jsonArray数据
Java中使用forEach遍历
JSONArray parse = (JSONArray) JSONObject.parse(string);
parse.stream().forEach(e->{
if (((JSONObject) e).getString("fieldId").equals("textField_38x4lga9")){
Object fieldData = ((JSONObject) e).get("fieldData");
Object workStatus = ((JSONObject) fieldData).get("value");
retur.put("workStatus",workStatus);
}
});
e为parse的索引,根据索引去获取对应jsonArray的数据
如上代码所示,其中string数据如下:
[{
"fieldData": {
"value": "GD"
},
"componentName": "TextField",
"fieldId": "textField_l7kftbqy"
}, {
"fieldData": {
"value": [{
"text": {
"en_US": "Option 2",
"zh_CN": "否"
},
"value": "否"
}]
},
"componentName": "RadioField",
"fieldId": "radioField_oexn62hs"
}, {
"fieldData": {
"value": "A0845244655280758784"
},
"componentName": "TextField",
"fieldId": "textField_1cfvqsia"
}]
其中parse数据如下:
前端使用for遍历
var arrq = [];
var taskId;
arrq = rowData.activeNodeInfos[0].nodeApprovers;
for (var key in arrq) {
if (arrq[key].approver == this.utils.getLoginUserId()) {
taskId = arrq[key].taskId;
}
}
当前key为索引 [0,1,2]
其中arrq数据如下:
自己整理学习,仅供参考!