Azure逻辑应用程序标准解析JSON错误

332nm8kg  于 2023-04-12  发布在  其他
关注(0)|答案(1)|浏览(126)

每当我在逻辑应用程序中使用解析JSON卡传递一个简单的JSON和简单的模式时,就像

{
   "Hello":"World"
}

{
    "type": "object",
    "properties": {
        "Hello": {
            "type": "string"
        }
    }
}

它自然地处理,但是如果我试图通过HTTP请求从WHMCS GetClientsProducts的API调用访问数据,我会得到一个错误。
图式

{
    "type": "object",
    "properties": {
        "result": {
            "type": "string"
        },
        "clientid": {
            "type": "string"
        },
        "serviceid": {
            "type": "string"
        },
        "pid": {
            "type": "string"
        },
        "domain": {
            "type": "string"
        },
        "totalresults": {
            "type": "integer"
        },
        "startnumber": {
            "type": "integer"
        },
        "numreturned": {
            "type": "integer"
        },
        "products": {
            "type": "object",
            "properties": {
                "product": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "clientid": {
                                "type": "integer"
                            },
                            "orderid": {
                                "type": "integer"
                            },
                            "ordernumber": {
                                "type": "integer"
                            },
                            "pid": {
                                "type": "integer"
                            },
                            "regdate": {
                                "type": "string"
                            },
                            "name": {
                                "type": "string"
                            },
                            "translated_name": {
                                "type": "string"
                            },
                            "groupname": {
                                "type": "string"
                            },
                            "translated_groupname": {
                                "type": "string"
                            },
                            "domain": {
                                "type": "string"
                            },
                            "dedicatedip": {
                                "type": "string"
                            },
                            "serverid": {
                                "type": "integer"
                            },
                            "servername": {
                                "type": "string"
                            },
                            "serverip": {},
                            "serverhostname": {},
                            "suspensionreason": {
                                "type": "string"
                            },
                            "firstpaymentamount": {
                                "type": "string"
                            },
                            "recurringamount": {
                                "type": "string"
                            },
                            "paymentmethod": {
                                "type": "string"
                            },
                            "paymentmethodname": {
                                "type": "string"
                            },
                            "billingcycle": {
                                "type": "string"
                            },
                            "nextduedate": {
                                "type": "string"
                            },
                            "status": {
                                "type": "string"
                            },
                            "username": {
                                "type": "string"
                            },
                            "password": {
                                "type": "string"
                            },
                            "subscriptionid": {
                                "type": "string"
                            },
                            "promoid": {
                                "type": "integer"
                            },
                            "overideautosuspend": {
                                "type": "integer"
                            },
                            "overidesuspenduntil": {
                                "type": "string"
                            },
                            "ns1": {
                                "type": "string"
                            },
                            "ns2": {
                                "type": "string"
                            },
                            "assignedips": {
                                "type": "string"
                            },
                            "notes": {
                                "type": "string"
                            },
                            "diskusage": {
                                "type": "integer"
                            },
                            "disklimit": {
                                "type": "integer"
                            },
                            "bwusage": {
                                "type": "integer"
                            },
                            "bwlimit": {
                                "type": "integer"
                            },
                            "lastupdate": {
                                "type": "string"
                            },
                            "customfields": {
                                "type": "object",
                                "properties": {
                                    "customfield": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "name": {
                                                    "type": "string"
                                                },
                                                "translated_name": {
                                                    "type": "string"
                                                },
                                                "value": {
                                                    "type": "string"
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "configoptions": {
                                "type": "object",
                                "properties": {
                                    "configoption": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "option": {
                                                    "type": "string"
                                                },
                                                "type": {
                                                    "type": "string"
                                                },
                                                "value": {
                                                    "type": "string"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

尽管这个模式是在Parse JSON卡之前用HTTP请求中请求的有效负载生成的。

h7appiyu

h7appiyu1#

从我这边复制后,我面临着类似的问题。

这是因为从trigger body接收到的body不是json类型(字符串类型)。一旦我将triggedBody()替换为json(triggedBody()),我就可以得到想要的结果。

我从你提供的模式中提取了一个样本数据,并做了如下所示的操作。
为了使过程简单,首先尝试选择所需的属性。

然后导航到代码视图并替换代码,如下所示。

"For_each": {
                "actions": {
                    "Compose": {
                        "inputs": "@items('For_each')?['customfields']",
                        "runAfter": {},
                        "type": "Compose"
                    }
                },
                "foreach": "@json(triggerBody())?['products']?['product']",
                "runAfter": {},
                "type": "Foreach"
            }
  • 结果:*

相关问题