Field的convert配置项

本文介绍了Field中的convert配置项的使用方法,通过自定义转换函数实现对数据的灵活展示,并提供了一个具体的示例来说明如何避免在数据为空时出现错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Field的convert配置项是可以自己定义如何显示field里的数据。样例如下

{
    name: 'name'
},{
   name: 'first name'
   convert: function(value, record) {
        var firstName = record.get('name').firstName;
         return firstName;
   }
}
其中record是指返回的一条数据,样例数据以json格式为例:{'name':{'firstName':'Jason','lastName':'Ton'}}
一般这样的情况我们都是使用mapping来处理,但是当name为空的时候,使用mapping会报错(在4.0.2a里发现是如此),所以用该方法最安全,在引用前可以先判断下。


注意:record.get('name')方法的参数必须是在field中定义了的名字,哪怕你传回的数据里有name这个属性但是你没有在field里写明,它依然不会识别出来。

{ "code": 200, "msg": "sys.option.success", "data": [ { "checkType": "FIELD", "fieldName": "modelNo", "expected": "A2676", "actual": "Not Found", "valid": false }, { "checkType": "FIELD", "fieldName": "gtin", "expected": "04549995463484", "actual": "Not Found", "valid": false }, { "checkType": "FIELD", "fieldName": "product", "expected": "MW2K3AM/A", "actual": "Not Found", "valid": false }, { "checkType": "FIELD", "fieldName": "sscc18", "expected": "101959490980003121", "actual": "Not Found", "valid": false }, { "checkType": "FIELD", "fieldName": "count", "expected": "10", "actual": "Not Found", "valid": false }, { "checkType": "FIELD", "fieldName": "s1", "expected": "(02)04549995463484(37)10", "actual": "Not Found", "valid": false } ] }我选择查看json的数据{"code":200,"msg":"sys.option.success","data":[{"checkType":"FIELD","fieldName":"modelNo","expected":"A2676","actual":"Not Found","valid":false},{"checkType":"FIELD","fieldName":"gtin","expected":"04549995463484","actual":"Not Found","valid":false},{"checkType":"FIELD","fieldName":"product","expected":"MW2K3AM/A","actual":"Not Found","valid":false},{"checkType":"FIELD","fieldName":"sscc18","expected":"101959490980003121","actual":"Not Found","valid":false},{"checkType":"FIELD","fieldName":"count","expected":"10","actual":"Not Found","valid":false},{"checkType":"FIELD","fieldName":"s1","expected":"(02)04549995463484(37)10","actual":"Not Found","valid":false}]}我把apifox的json换成xml的 这个不支持 @PostMapping(value = "/compare",produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE}) public R compare(@RequestPart("File") MultipartFile file, @RequestPart("jsonContent") String jsonContent) { //读取PDF文本 String pdfText = compareService.extractContent(file); //解析JSON配置 JsonNode jsonConfig = null; try { jsonConfig = compareService.parseJson(jsonContent); } catch (Exception e) { return R.fail(MessageUtils.message("failed.convert.json")); } //执行对比校验 List<ValidationResult> results = compareService.compareContent(pdfText, jsonConfig); //返回没有匹配成功的数据 List<ValidationResult> failedResults = new ArrayList<>(); for (ValidationResult result : results) { if (!result.isValid()) { failedResults.add(result); } } if (failedResults.isEmpty()) { return R.ok("条件符合规范"); } else { return R.ok(failedResults); } }我想让支持json和xml
最新发布
07-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值