Rozszerzenie pliku Json Schema


98

Czy istnieje konwencja nazewnictwa dla rozszerzenia pliku schematu JSON? XML ma .xsd (definicja schematu XML), co powinny mieć pliki schematu json, .jsd (definicja schematu JSON)?


2
Ponieważ ktoś pracuje obecnie nad specyfikacją schematu JSON, tak naprawdę nie jest to coś, co było brane pod uwagę. Jeśli uważasz, że tak powinno być, możesz otworzyć zgłoszenie w repozytorium github.
Relequestual

Odpowiedzi:



21

Zgodnie z ostatnią wersją roboczą (v4) nie zaproponowano nowego rozszerzenia dla plików przechowujących schematy json. Rozszerzenie .json jest często używane w tym dokumencie. .json jest również preferowanym rozszerzeniem w walidatorach (PHP, Ruby, Python).

Więc myślę, że .json powinien być preferowaną opcją w przypadku braku oficjalnego / standardowego nowego rozszerzenia.


3

Zacząłem używać .jschemapo uruchomieniu z parserem schematu JSON opartym na rozszerzeniu, który automatycznie dodawał identyfikatory do zewnętrznych przykładów RAML, które są również .jsonplikami.

W końcu to specyficzny format. HTML to XML, czyli UML, i dla każdego z nich używamy innego rozszerzenia pliku.


3
Nie, HTML to nie XML. Jest wiele różnic.
Mark Amery

3
Cóż, od HTML5, HTML to słownik zdefiniowany dla dwóch pokrewnych typów mediów: tekst / html (który jest skomplikowanym parserem, który nie jest oparty na niczym) i aplikacja / xhtml + xml (co jest standardowym XML).
awwright

Myślę, że masz na myśli SGML, a nie UML.
Daniel Schilling

0

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

Ponieważ schemat JSON jest sam w sobie JSON, nie zawsze łatwo jest stwierdzić, czy coś jest schematem JSON, czy po prostu dowolnym fragmentem JSON. Słowo $schemakluczowe służy do zadeklarowania, że ​​coś jest schematem JSON. Generalnie jest to dobra praktyka, aby to uwzględnić, chociaż nie jest to wymagane .

Możesz więc użyć .jsonjako rozszerzenia pliku dla schematu JSON, ale może ze $schemasłowem kluczowym (chociaż opcjonalne) dla lepszego rozróżnienia.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.