前言
最近,在使用Power Automate处理JSON的时候,碰到一个错误。
正文
1.处理JSON的过程,一般是这样的,如下图:
2.测试一下,这样,我们就很容易操作JSON字符串中的属性了,如下图:
3.但是,大家在开发中,碰到过这样的问题没有?
4.详细的错误信息,如下图:
[{"message": "Invalid type. Expected String but got Null.","lineNumber": 0,"linePosition": 0,"path": "age","schemaId": "#/properties/age","errorType": "type","childErrors": []} ]
5.这个时候,我们就需要特别的处理一下Prase JSON时的Schema了,如下图:
6.大家可以看下完整的Schema,意思就是age这个属性,可以是string或者null,如下图:
{"type": "object","properties": {"name": {"type": "string"},"age": {"type": ["string","null"]},"address": {"type": "string"},"comment": {"type": "string"}} }
7.我们测试一下正常情况下的执行结果,如下图:
8.我们再测试一下,年龄为空的时候的结果,我们可以看到即使年龄为空,但是flow不会报错了,如下图:
结束语
我们在使用Automate的时候,尤其是跟其他系统做集成的时候,经常会接收其它系统的json数据,注意数据的异常处理,保证Flow的健壮性,是非常重要的。