是否有JSON 的XSLT等价物?允许我对XSON进行转换的事情,比如XSLT对XML做的转换.
让我们假设我有这个模式:
"array": {
"type": "array",
"items": {
"type": "object",
"properties": {"id": {"type": "integer"}, "value": {"type": "number"}}
},
"uniqueItems": true
}
Run Code Online (Sandbox Code Playgroud)
但是我需要确保此数组中没有具有重复ID的对象。我不要两个具有相同ID的对象。是否可以仅通过其“ id”属性来定义对对象唯一性的限制?
我正在尝试了解JSON 模式定义,并想了解如何在模式定义中实现更深层次的对象唯一性。请看下面的示例定义,在本例中是一个模块的简单 IO。
{
"$schema": "http://json-schema.org/draft-06/schema#",
"type": "object",
"required": ["modulIOs"],
"properties": {
"modulIOs": {
"type": "array",
"uniqueItems": true,
"items": {
"allOf": [
{
"type": "object",
"required": ["ioPosition","ioType","ioFunction"],
"additionalProperties": false,
"properties": {
"ioPosition": {
"type": "integer"
},
"ioType": {
"type":"string",
"enum": ["in","out"]
},
"ioFunction": {
"type":"string"
}
}
}
]
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用 iE Draft-06验证以下内容时,我得到了肯定的验证。
{"modulIOs":
[
{
"ioPosition":1,
"ioType":"in",
"ioFunction":"240 V AC in"
},
{
"ioPosition":1,
"ioType":"in",
"ioFunction":"24 V DC in"
}
]
} …Run Code Online (Sandbox Code Playgroud)