Schemaには,oneOfという便利な構文が用意されている。これは,与えられたスキーマのうちどれか1つだけがvalidなときvalidとする構文だ。そのoneOfの挙動で困ったのでメモする。具体的には,オブジェクト型Aと,別のオブジェクト型B,そしてAとBとをallOfでマージしたABとがあるとき,AとBとABとのoneOfを構成することができないのだ。例として以下にスキーマを示す。このスキーマ自体はvalidだが,実は#abを許容できない。}]}oneOfの挙動どうして#abを許容しないかというと,oneOfの挙動にもとづいている。oneOfは,「与えられたスキーマでJSONをvalidateしていき,どれか1つのスキーマにだけvalidなときにvalidになる」構文だ。この例では,#aか#bか#abのうち,いずれか1つだけがvalidにならなければならない。,#abに対してvalidなJSONは#aにも#bにもvalidになってしまう(allOfで制約を満たしているのだから当然だが)ので,いずれか1つだけのスキーマにvalidになることができない。場合,本当に欲しいのはoneOfではなく,「どれかにマッチする(anyOf)」なので,そう置換する。falseのobject同...このスキーマ中の#abは無効になる。https://www.jsonschemavali...2020-01-10シェルスクリプトで環境変数の中身を壊すことなくファイルに保存する★追記があります。表記・マークアップ言語と呼ばれるものはどこまで許容されるのかなんかYAML好きになれないんですがあなたはどうですか。週間)Web開発者です。Lisp/Perl/Goまわりの話題が多いです。月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。