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)?

Fresa
fonte
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:

103

De Gary Court:

Eu pessoalmente uso .schema.json, mas não existe uma extensão de arquivo oficial. O tipo mime oficial, entretanto, é "application / schema + json".

Eric Hartford
fonte
10
Eu também uso * .schema.json
jasonkarns de
2
Também uso * .schema.json
Daniel Santos
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.

Jruizaranguren
fonte
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.

Michał Tatarynowicz
fonte
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.

Saikat
fonte