主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ
書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。
2022/07/16
JSON Schema 使ったことありますか?
直接は使ったことはなくとも、 Node.js の package.json
の補完などは JSON Schema の恩恵です。
ただ、自作アプリケーションなどで使用する JSON の場合、 JSON Schema は定義されていないので、自前で作成、設定する必要があります。
今回はその方法のメモです。
まず、 JSON Schema は手で書くような物では無いので、 TypeScript の型システムをうまく使って生成します。
TypeScript からの JSON Schema の生成には、 ts-json-schema-generator を使用します。
例えば、以下のような TS ファイルがあった場合:
export type SomeType = {
key: string;
value: string;
}
このようにコマンドを実行することで、 JSON Schema が出力されます。
$ yarn run ts-json-schema-generator --path src/json.ts > dst/schema.json
あとは、 VSCode の設定でこの JSON Schema を使うようにしてあげれば OK です。
設定例はこんな感じ:
{
"json.schemas": [
{
"fileMatch": ["some.json"],
"url": "./dst/schema.json"
}
]
}
あとは、 some.json
を開けば、 JSON Schema に設定したとおりに補完されます。
ということで、メモでした。