前言
最近,在使用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的健壮性,是非常重要的。