JSON 架构:如何检查字段是否包含值
JSON Schema: How to check if a field contains a value
我有一个 JSON 模式验证器,我需要在其中检查特定字段 email
以查看它是否是 4 封可能的电子邮件之一。让我们调用可能性 ['test1', 'test2', 'test3', 'test4']
。有时电子邮件包含 \n
换行符,所以我也需要考虑到这一点。是否可以在 JSON 模式中执行字符串包含方法?
这是我没有检查电子邮件的架构:
{
"type": "object",
"properties": {
"data": {
"type":"object",
"properties": {
"email": {
"type": "string"
}
},
"required": ["email"]
}
}
}
我的输入负载是:
{
"data": {
"email": "test3\njunktext"
}
}
我需要以下有效负载才能通过验证,因为其中包含 test3
。谢谢!
我可以想到两个办法:
使用 enum 您可以定义有效电子邮件列表:
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"email": {
"enum": [
"test1",
"test2",
"test3"
]
}
},
"required": [
"email"
]
}
}
}
或使用 pattern,它允许您使用正则表达式来匹配有效的电子邮件:
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"email": {
"pattern": "test"
}
},
"required": [
"email"
]
}
}
}
我有一个 JSON 模式验证器,我需要在其中检查特定字段 email
以查看它是否是 4 封可能的电子邮件之一。让我们调用可能性 ['test1', 'test2', 'test3', 'test4']
。有时电子邮件包含 \n
换行符,所以我也需要考虑到这一点。是否可以在 JSON 模式中执行字符串包含方法?
这是我没有检查电子邮件的架构:
{
"type": "object",
"properties": {
"data": {
"type":"object",
"properties": {
"email": {
"type": "string"
}
},
"required": ["email"]
}
}
}
我的输入负载是:
{
"data": {
"email": "test3\njunktext"
}
}
我需要以下有效负载才能通过验证,因为其中包含 test3
。谢谢!
我可以想到两个办法:
使用 enum 您可以定义有效电子邮件列表:
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"email": {
"enum": [
"test1",
"test2",
"test3"
]
}
},
"required": [
"email"
]
}
}
}
或使用 pattern,它允许您使用正则表达式来匹配有效的电子邮件:
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"email": {
"pattern": "test"
}
},
"required": [
"email"
]
}
}
}