私のチームは、すべての入力と出力に対してデータを検証するためにJSONスキーマを使用するAPIを構築しています。プロジェクトは成長していて、私はすでに85個のJSONファイルがあり、私は、各ファイルに対して非常に多くのリファクタがあることも検出します。たとえば、重複したコードが多数抽出され、単一のスキーマとして配置され、各ファイルのこのスキーマを参照する必要があります。そこで私はこのディレクトリをスキャンしてこの種のエラーを検出するのに役立つライブラリと他のエラーを検出するのに役立つJSONスキーマリンターを助けるライブラリをgoogleにしようとしましたが、何も見つかりませんでした。だから私は誰かが同じ問題を抱えているかどうかを知るためにこの質問を投稿し、それを解決するツールを見つけました。jsonスキーマディレクトリのLinter
1
A
答えて
1
私が今作業しているプロジェクトでは、tv4を使用してJSONスキーマファイルを検証しますが、それは 'linting'自体ではありませんが、探しているものでなければなりません。
1
私はこれまでにこのライブラリを使ったことがありませんでしたが、あなたができることの例があります。ライブラリそのものは重要な部分ではありません。
http://json-schema.org/draft-04/schemaをダウンロードし、draft04-metaschema.json
(またはあなたのスキーマに使用しているメタスキーマ)に保存します。 NPMからajv-cliを使用します。
npm install -g ajv-cli
ajv validate -s draft04-metaschema.json -d your-schema.json
これは、それが有効だと確認するために指定されたメタスキーマに対するあなたのスキーマを検証します。この同じ方法論を使用して、他の任意のライブラリを使用してスキーマを検証できます。うまくいけばそれはあなたを始めさせるのに十分です。
関連する問題
- 1. VSCode Linter ES6 ES7 Babel linter
- 2. プルリクエストlinter
- 3. プルリクエスト "linter"
- 4. 503レスポンスFacebook Linter
- 5. standardjs linter除外ファイル
- 6. linterからのgoconst警告
- 7. Microsoft VSコードとHTML linterの角2タグ
- 8. linter-ruby atomが動作しない
- 9. Ruby 1.9を使用するためのSubLime Linterプラグインの設定
- 10. 次のノードのjs linterは必要です
- 11. Visual StudioでWSL(Ubuntu for Windows)のlinterを使用するコード
- 12. 文書のlinterエラーno-undefを解決する
- 13. FacebookのIP範囲を許可する(Linter/Socialプラグイン)
- 14. Sublime Linterのポップアップ警告を削除するには?
- 15. factory_girl linterがActionView :: Template :: Errorのために失敗しました
- 16. AtomのJavaでLinterが動作しない
- 17. gulp HTML linterのオプション/ルールを設定する
- 18. アトムパッケージlinter-flake8が出力を表示しない
- 19. Linterはサイトに接続できません。
- 20. ジェンキンスパイプラインはPHP linterエラーで中止しません
- 21. Facebook Linterがog:tagsを手に入れました。
- 22. Facebook Linter/Open GraphはURLパスを切り捨てます
- 23. Flake8-linter Atom除外ファイルが含まれています
- 24. linter-flake8およびatom Windows 10 PATH to cmd.exe
- 25. vuejsでグローバル関数を使用する。 linter(?)
- 26. クロージャLinter Windows Python 3.6 "SyntaxError:構文が無効です"
- 27. PHPのHTML Linter - 入力テキストエリア内にHTML Validation&Hintのライブラリがありますか?
- 28. GoogleクローズLinterがWindows用のサブライムテキスト2で動作していない
- 29. Webpackのスタイルファイルをインポートするときに "no-unused-vars"を表示するLinter
- 30. なぜこのエラーが発生しますか?line 0 col 0不良オプション:gulp linterタスクの実行後に '0' .`?
私はtv4のドキュメントを読んでいますが、JSONスキーマに対してデータを検証するためのライブラリです。perse –
スキーマの '$ schema'プロパティで定義されたメタスキーマに対してスキーマを検証します。他のいくつかのライブラリは、スキーマを検証できるように、APIの中にこれを直接組み込んでいますが、その下にはスキーマがあります。 –