json模式中的对象重用和组合

时间:2013-05-03 00:17:00

标签: json json.net jsonschema

我有一个看起来像这样的json blob;

{
     "ObjectA":
      {
          "Object1": {fields},
          "Object2": {fields},
          "Object3": {fields}
      },
      "ObjectB":
      {
          "Object1": {fields},
          "Object2": {fields},
          "Object3": {fields}
      }
}

有没有办法可以定义Object的1,2和3一次并在架构中重用它们?这可以用json架构完成吗?我想写它就像我将它的C#等效,其中编号对象只定义一次,然后字母对象由它们组成。

编辑:为了澄清我正在尝试纠正现有的架构。模式定义了每个字母对象中的编号对象,即使它们都具有完全相同的定义。

1 个答案:

答案 0 :(得分:0)

我在文档中找到了一个解决方案。

http://json-schema.org/latest/json-schema-core.html#anchor7

架构可以有子架构。所以我的代码现在看起来像;

  "ObjectB":
  {
      "Object1": {"title":"object1"},
      "Object2": {"title":"object2"},
      "Object3": {"title":"object3"}
  }

然后在该架构的一边

{
    "Object1": {
         "title":"object1",
          //20 more lines of json
    }
}