如何定义未知部分名称

时间:2016-01-17 22:02:34

标签: json jsonschema

我正在编写一个编辑器应用程序桌面,它将接收一个JSON文件,允许编辑并将编辑过的JSON保存回文件。

在回顾其中一些文件时,我发现了结构上的各种相似之处。

  1. [0]索引类似于电子表格列定义
  2. [1] +索引是与索引0
  3. 中定义的列关联的数据

    根据我从内容派生的内容,此信息可能是数据库内容的输出。该结构与您从电子表格表中构建的结构非常一致,几乎就像数据透视表一样。

    问题:

    如何构建架构结构,我不知道propertyitem名称,但我知道内容结构。

    基本结构:

    {
        "item1":[{
            "col1":[<idx>, <datatype>],
            "col2":[<idx>, <datatype>],
            ....
            "col-n":[<idx>, <datatype>]
        },{
            "name1":[<val1>],
            "name2":[<val2>],
            ....
            "name-n":[<val-n>]
        }],
        "item2":[{
            ....
        }],
        ....
        "item-n":[{
            ....
        }]
    }
    

    问题:

    1. &#34; item1&#34;,&#34; item2&#34;,直到&#34; item-n&#34;不是标准名称。他们可以在不同文件之间进行更改。 Array的底层结构与名称相同。
    2. &#34; col1&#34;,&#34; col2&#34;,直到&#34; col-n&#34;遵循与#1相同的规则。键值对中代表key的实际值在文件之间永远不会相同。
    3. 当前架构

      我知道到目前为止,新手的发展令人伤心。是的,它并不多,但没有看到有关属性名称key的通用定义的任何信息。

      {
          "definitions": {
              "idx_dt":{
                  "type":"array",
                  "items": [{
                      "type":"integer",
                  },{
                      "type":"integer"
                  }]
              }
          }
      }
      

      这基本上是col1col2的伪类型定义,最多col-n定义

      我可以简单地将列定义为该类型。

      我尝试的所有内容都因验证文件内容而失败。我显然做得非常糟糕。

      我尝试过在线使用Schema Creators,但他们都对顶级项目的名称进行了硬编码。我需要识别它们,但没有严格定义。

0 个答案:

没有答案