我设法将所有用户数据存储在一个数组中(请参阅here),但是现在我无法遍历数据。构建数组后,我已将其转换为JSON,但是我无法再按照JSON模式中定义的字段进行寻址。
我在循环中唯一能解决的问题(我使用JSON正文作为For Each循环的输入)是正文本身,而不是诸如用户名,邮件地址等单个字段。
我应该更改JSON模式中的某些内容以解决此问题还是其他错误?
编辑:请在下面找到我的JSON模式:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"items": [
{
"properties": {
"@@odata.type": {
"type": "string"
},
"createdDateTime": {
"type": "string"
},
"employeeId": {
"type": "string"
},
"givenName": {
"type": "string"
},
"id": {
"type": "string"
},
"mail": {
"type": "string"
},
"onPremisesSamAccountName": {
"type": "string"
},
"surname": {
"type": "string"
},
"userPrincipalName": {
"type": "string"
}
},
"required": [
"@@odata.type",
"id",
"givenName",
"surname",
"userPrincipalName",
"mail",
"onPremisesSamAccountName",
"employeeId",
"createdDateTime"
],
"type": "object"
}
],
"type": "array"
}
请查看该图片以了解JSON的外观:
答案 0 :(得分:1)
据我了解,您只想循环数组以获取每个项目的名称,邮件和其他一些字段。正如您在问题中提到的那样,您可以将json主体用作For Each循环的输入。没关系,无需再做任何其他事情。请参考以下屏幕截图:
更新:
我检查了您的json模式,但似乎与您在屏幕截图中提供的json数据不匹配。我想知道您是如何生成json模式的,而在我这边,只需单击“ 使用示例有效负载生成模式”按钮即可生成json模式,它将自动生成模式。
我使用与您的结构相同的json数据示例并生成其架构,请参阅以下json数据和架构:
json数据:
{
"body": [
{
"@odata.type": "test",
"id": "123456",
"givenName": "test",
"username": "test",
"userPrincipalName": "test",
"mail": "test@mail.com",
"onPremisesSamAccountName": "test",
"employeeId": "test",
"createdDateTime": "testdate"
},
{
"@odata.type": "test",
"id": "123456",
"givenName": "test",
"username": "test",
"userPrincipalName": "test",
"mail": "test@mail.com",
"onPremisesSamAccountName": "test",
"employeeId": "test",
"createdDateTime": "testdate"
}
]
}
模式:
{
"type": "object",
"properties": {
"body": {
"type": "array",
"items": {
"type": "object",
"properties": {
"@@odata.type": {
"type": "string"
},
"id": {
"type": "string"
},
"givenName": {
"type": "string"
},
"username": {
"type": "string"
},
"userPrincipalName": {
"type": "string"
},
"mail": {
"type": "string"
},
"onPremisesSamAccountName": {
"type": "string"
},
"employeeId": {
"type": "string"
},
"createdDateTime": {
"type": "string"
}
},
"required": [
"@@odata.type",
"id",
"givenName",
"username",
"userPrincipalName",
"mail",
"onPremisesSamAccountName",
"employeeId",
"createdDateTime"
]
}
}
}
}