假设您在YAML中有一个名为{something”的Map<String, Object>
something:
和相应的JSON应该如下所示: json
"something": {
"else": "then",
"array": [
"element in array"
]
}
因此,此Yaml规范可能是:
something:
else: then
array:
- element in array
但是由于something
是地图,它不允许我这样做
array:
- element in array
或这个
array: ['element in array']
所以问题是,考虑到something
是Map<String, Object>
,是否有可能获得上述JSON的Yaml?
这与为OpenServiceBroker API的实现定义ServiceCatalogDefinition有关。
OSB Catalog json looks like this
我试图根据需要制作上面链接中架构中提到的“属性”。 为此,我需要使其像这样返回json:
"properties" : {
"someProperty" : {
"description": "description",
"type": "string"
},
"required": [
"someProperty"
]
}
然后yaml在我的应用程序中进行验证。yml抛出注释中提到的错误
答案 0 :(得分:0)
使用网站json2yaml,您会收到YAML:
---
something:
else: then
array:
- element in array
来自json:
{
"something": {
"else": "then",
"array": [
"element in array"
]
}
}
与您相比,我认为您的“-”必须与“数组”处于同一级别。
答案 1 :(得分:0)
您需要做两件事:
使JSON有效,例如通过插入逗号(如@flyx所建议)并在根级对象周围添加花括号:
{
"something": {
"else": "then",
"array": [
"element in array"
]
}
}
将普通标量(即不带引号)映射键something
更改为双引号标量:
{
"something": {
"else": "then",
"array": [
"element in array"
]
}
}
由于从所有实际目的出发,YAML实际上都是JSON的超集(自2009年以来的YAML 1.2),因此您无需执行其他任何操作。当然,您可以同时使用YAML加载程序和JSON解析器阅读以上内容。