This document proposes a format, called JSON Type Definition (JTD), for describing the shape of JavaScript Object Notation (JSON) messages. Its main goals are to enable code generation from schemas as well as portable validation with standardized error indicators. To this end, JTD is intentionally limited to be no more expressive than the type systems of mainstream programming languages. This intentional limitation, as well as the decision to make JTD schemas be JSON documents, makes tooling atop of JTD easier to build. This document does not have IETF consensus and is presented here to facilitate experimentation with the concept of JTD.
IETF · RFCОфициальная английская аннотация
This document proposes a format, called JSON Type Definition (JTD), for describing the shape of JavaScript Object Notation (JSON) messages. Its main goals are to enable code generation from schemas as well as portable validation with standardized error indicators. To this end, JTD is intentionally limited to be no more expressive than the type systems of mainstream programming languages. This intentional limitation, as well as the decision to make JTD schemas be JSON documents, makes tooling atop of JTD easier to build. This document does not have IETF consensus and is presented here to facilitate experimentation with the concept of JTD.
{
"id": "RFC8927",
"number": 8927,
"title_en": "JSON Type Definition",
"title_ru": "",
"summary_ru": "",
"purpose_ru": "",
"use_ru": "",
"full_translation_path": "",
"full_translation_checked_at": "",
"full_translation_source_sha256": "",
"architect_note_ru": "",
"topics_ru": [],
"translation_state": "not_prepared",
"verification_level": "not_prepared",
"verification_level_ru": "Русская выжимка не подготовлена",
"verification_note_ru": "",
"abstract_en": "This document proposes a format, called JSON Type Definition (JTD), for describing the shape of JavaScript Object Notation (JSON) messages. Its main goals are to enable code generation from schemas as well as portable validation with standardized error indicators. To this end, JTD is intentionally limited to be no more expressive than the type systems of mainstream programming languages. This intentional limitation, as well as the decision to make JTD schemas be JSON documents, makes tooling atop of JTD easier to build. This document does not have IETF consensus and is presented here to facilitate experimentation with the concept of JTD.",
"authors": [
"U. Carion"
],
"organizations": [],
"publication_date": "2020-11-01",
"current_status": "EXPERIMENTAL",
"current_status_ru": "Экспериментальный",
"publication_status": "EXPERIMENTAL",
"publication_status_ru": "Экспериментальный",
"lifecycle": "experimental",
"lifecycle_ru": "Экспериментальный",
"stream": "INDEPENDENT",
"stream_ru": "Независимый поток",
"area": "",
"area_ru": "",
"working_group": "",
"source_draft": "draft-ucarion-json-type-definition-04",
"page_count": 51,
"doi": "10.17487/RFC8927",
"keywords": [
"data interchange format",
"description language",
"schema language",
"tree grammar"
],
"formats": [
"HTML",
"TXT",
"PDF",
"XML"
],
"relations": {
"obsoletes": [],
"obsoleted_by": [],
"updates": [],
"updated_by": [],
"is_also": [],
"see_also": []
},
"links": {
"info": "https://www.rfc-editor.org/info/rfc8927/",
"html": "https://www.rfc-editor.org/rfc/rfc8927.html",
"txt": "https://www.rfc-editor.org/rfc/rfc8927.txt",
"datatracker": "https://datatracker.ietf.org/doc/rfc8927/"
}
}