如何在Camunda BPM中通过内嵌JavaScript正确解析JSON获取指定字段值
正确获取JSON数组中嵌套字段的方法
嘿,我一眼就看出问题所在啦!你拿到的JSON是数组格式(外层用[]包裹),但你的代码直接在整个JSON对象上找statusAprovacao属性,这当然找不到——这个属性是在数组的第一个元素里面的,而且statusAprovacao本身还是个嵌套对象,你需要再深入一层取value字段才能拿到目标值。
错误原因拆解
你提供的JSON结构简化后是这样的:
[ { "statusAprovacao": { "type": "String", "value": "Pre aprovado", "valueInfo": {} }, // 其他字段... } ]
- 外层是数组,所以首先得访问数组的第一个元素(索引为0)
statusAprovacao是数组元素里的一个对象,最终要的"Pre aprovado"是这个对象里的value属性
正确的JavaScript代码
你可以分步骤获取,或者用链式调用简化:
分步写法(更清晰)
var json = S(response); // 先取出数组的第一个元素 var item = json.get(0); // 获取statusAprovacao对象 var statusObj = item.prop("statusAprovacao"); // 提取最终的value值 var statusValue = statusObj.prop("value"); // 现在statusValue就是你要的"Pre aprovado"
链式写法(更简洁)
var json = S(response); var statusValue = json.get(0).prop("statusAprovacao").prop("value");
这样就能正确拿到你需要的字段值啦,以后遇到嵌套JSON数组的时候,记得先定位到对应的数组元素再去取内部属性哦~
内容的提问来源于stack exchange,提问作者Rudson Rodrigues
相关产品推荐
相关产品推荐

