Extensão de arquivo Json Schema


97

Existe alguma convenção de nomenclatura para uma extensão de arquivo de esquema json? XML tem .xsd (definição de esquema XML), o que os arquivos de esquema json devem ter, .jsd (definição de esquema JSON)?


2
Como alguém que está trabalhando na especificação do esquema JSON atualmente, não é realmente algo que tenha sido considerado. Se você acha que deveria ser, sinta-se à vontade para abrir um problema no repo do github.
Relequestual

Respostas:



21

De acordo com o último rascunho (v4) , não há uma nova extensão proposta para arquivos que armazenam esquemas json. A extensão .json é muito usada nesse documento. .json também é a extensão preferida em validadores (PHP, Ruby, Python).

Portanto, acho que .json deve ser a opção preferida na ausência de uma nova extensão oficial / padrão.


3

Comecei a usar .jschemadepois que tive um run-in com um analisador JSON Schema baseado em extensão que automaticamente adicionou ids a exemplos externos de RAML que também são .jsonarquivos.

Afinal, eles são um formato específico. HTML é XML, que é UML, e usamos uma extensão de arquivo diferente para cada um deles.


3
Não, HTML não é XML. Existem muitas e muitas diferenças.
Mark Amery

3
Bem, a partir do HTML5, HTML é um vocabulário definido para dois tipos de mídia relacionados: text / html (que é um analisador complicado não baseado em nada) e application / xhtml + xml (que é o XML padrão).
certo,

Acho que você quer dizer SGML, não UML.
Daniel Schilling

0

De https://json-schema.org/understanding-json-schema/basics.html#id3

Como o JSON Schema é JSON, nem sempre é fácil saber quando algo é JSON Schema ou apenas um pedaço arbitrário de JSON. A $schemapalavra-chave é usada para declarar que algo é o esquema JSON. Geralmente, é uma boa prática incluí-lo, embora não seja obrigatório .

Portanto, você pode usar .jsoncomo extensão de arquivo para o esquema JSON, mas talvez com uma $schemapalavra - chave (embora opcional) para melhor distinção.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.