我们有这个json模式草案。我想获得我的JSON数据的样本,并为JSON模式生成一个框架,我可以手动返工,添加像描述,要求等东西,这不能从具体的例子推断。

例如,在我的输入example.json中:

{
    "foo": "lorem", 
    "bar": "ipsum"
}

我将运行我的json_schema_generator工具,并将得到:

{ "foo": {
    "type" : "string",
    "required" : true,
    "description" : "unknown"
  },
  "bar": {
    "type" : "string",
    "required" : true,
    "description" : "unknown"
  }
}

这个例子是手动编码的,所以可能会有错误。 是否有任何工具可以帮助我转换JSON -> JSON模式?


当前回答

几个月后,我得到的最好答案就是我的简单工具。它是原始的,但功能。

我想要的是类似的东西。JSON数据可以为JSON模式提供一个框架。我还没有实现它,但是应该可以给出一个现有的JSON模式作为基础,这样现有的JSON模式加上JSON数据就可以生成一个更新的JSON模式。如果没有这样的模式作为输入,则完全采用默认值。

这在迭代开发中非常有用:在工具第一次运行时,JSON模式是虚拟的,但是可以根据数据的演变自动改进它。

其他回答

你可能在找这个:

http://www.jsonschema.net

它是一个在线工具,可以从JSON字符串自动生成JSON模式。您可以轻松地编辑模式。

几个月后,我得到的最好答案就是我的简单工具。它是原始的,但功能。

我想要的是类似的东西。JSON数据可以为JSON模式提供一个框架。我还没有实现它,但是应该可以给出一个现有的JSON模式作为基础,这样现有的JSON模式加上JSON数据就可以生成一个更新的JSON模式。如果没有这样的模式作为输入,则完全采用默认值。

这在迭代开发中非常有用:在工具第一次运行时,JSON模式是虚拟的,但是可以根据数据的演变自动改进它。

对于node.js > 6.0.0,也有json-schema-by-example模块。

GenSON (PyPI | Github)是一个JSON模式生成器,可以从多个对象生成单个模式。您还可以使用它合并模式。它是用Python编写的,并附带CLI工具。

(完全披露:我就是作者。)

generate-schema (NPM | Github)使用JSON对象从中生成模式,一个输出是JSON模式,它是用Node.js编写的,并带有一个REPL和ClI工具,用于将文件管道到。

完全披露:我是作者:)