Dam*_*ash 22 javascript java json jsonschema
我的问题是我正在将地图内容序列化为JSON.
在输出(JSON)中,我有跟随键/名称语法规则的对象.
密钥是从map键创建的,名称来自值.
模型示例:
class Storage {
Map<String,String> values = new HashMap<>();
{
map.put("key1","key1");
map.put("key2","key2");
map.put("key3","key3");
}
}
Run Code Online (Sandbox Code Playgroud)
JSON示例对象:
{
key1=value1,
key2=value2,
key3=value3
}
Run Code Online (Sandbox Code Playgroud)
JSON架构:
{
"name": "storage",
"description": "Store of key values",
"properties": {
// How can we describe the properties if we do not know the name ?
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,我不知道它的价值是什么,但我知道它们会是一些.
你能帮我提一下架构的完整定义吗?
免责声明:
我知道这也可以序列化为
{
values: [
{key="key1", value="value1"},
{key="key2", value="value2"},
{key="key3", value="value3"}
]
}
Run Code Online (Sandbox Code Playgroud)
但是不希望在JSON中有数组.
McD*_*ell 22
假设您的验证器支持它,您可以使用patternProperties.
对于架构......
{
"title": "Map<String,String>",
"type": "object",
"patternProperties": {
".{1,}": { "type": "string" }
}
}
Run Code Online (Sandbox Code Playgroud)
......和文件......
{
"foo":"bar",
"baz":1
}
Run Code Online (Sandbox Code Playgroud)
...属性foo的值是有效的,因为它是一个字符串,但是baz验证失败,因为它是一个数字.