将自定义名称添加到AllowedValues

时间:2015-06-15 07:15:39

标签: json

我有我的JSON模板文件的以下部分。

"environment": {
  "type": "string",
  "defaultValue": "Test",
  "allowedValues": [
    "Development",
    "Test",
    "User Acceptance Testing",
    "Load Testing",
    "Stage",
    "Production"
  ]

运行时,将按原样显示此环境列表。但是,我希望能够使用您在此处看到的仅显示名称,然后一旦选择了一个,则应用另一个值,例如,生产= PDN,负载测试= LT。

我如何将其写入上述代码?

1 个答案:

答案 0 :(得分:0)

您使用的是默认的json-schema吗?因为其中没有关键字,例如defaultValueallowedValues

有关详细信息,请参阅http://json-schema.org/latest/json-schema-validation.html

首先,出于您的目的,您应该使用enum代替allowedValuesdefault而不是defaultValue,因此您的架构将如下所示:

"environment": {
  "type": "string",
  "default": "Test",
  "enum": [
    "Development",
    "Test",
    "User Acceptance Testing",
    "Load Testing",
    "Stage",
    "Production"
  ]
}

对于你的问题,我想这种处理应该在你的JavaScript(或你使用的)代码中实现,这些代码使用你的json-schema。

所以你应该存储你的"短"版本environment(如PND,LT等)到模式中,以及您的代码中的完整值。可能是您计划的本地化部分。

架构的最终版本:

"environment": {
  "type": "string",
  "default": "TST",
  "enum": [
    "DMT",
    "TST",
    "UAT",
    "LT",
    "STG",
    "PND"
  ]
}