是否有可能创建一个可以验证哈希图/字典(而不是对象)的JSON模式?

问题描述 投票:0回答:1

因此,如果我有一个对象,我们称它为Person,例如:

{
  "email": "[email protected]",
  "first"" "foo",
  "last": "bar"
}

此Person对象都可以使用JSON Schema很好地验证。问题是当其中的多个排列成字典时,其中电子邮件字段用作键,而对象是值。例如:

{
  "[email protected]": {
    "email": "[email protected]",
    "first"" "foo",
    "last": "bar"
  },
  "[email protected]": {
    "email": "[email protected]",
    "first": "Bob",
    "last": "Bobton"
  },
  "[email protected]": {
    "email": "[email protected]",
    "first": "Deb",
    "last": "Debbington"
  }
}

这是一种结构化数据的常用方法。除了对Person值的验证(可以通过JSON Schema很好地处理)之外,还有许多对字典有用的验证:

  • 密钥是电子邮件,可以验证为一个。
  • 值始终是一个人。
  • 键始终与值的电子邮件字段相同。
  • 所有键都是唯一的。

是否可以使用JSON模式实现这些字典验证?

dictionary jsonschema json-schema-validator
1个回答
0
投票

前两个要求,是的。您可以使用patternProperties

您要问的其他两个不能使用JSON模式。抱歉。

我的期望是您从API以第一种形式接收数据,进行验证,然后将reduce映射到所需的结构。

© www.soinside.com 2019 - 2024. All rights reserved.