問題タブ [jsonschema]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 他のキーに依存する、より複雑な json スキーマを作成する
私は単純な JSON スキーマを書いてきましたが、もう少し複雑な API 入力呼び出しに出くわしました。3 つの非常に異なるタイプの JSON を使用できる安らかなエンド ルートが 1 つあります。
ローカルホスト/フー
取っていいよ:
{ "タイプ" : "アイスクリーム", "コーン" : "ワッフル" ...}
また
{"type" : "hot_dog", "bun" : "wheat" ...}
「type」キーに「ice_cream」が含まれている場合、キー「bun」ではなく、キー「cone」のみを表示したいと考えています。同様に、「type」に「hot_dog」が含まれている場合、「cone」ではなく「bun」のみが表示されます。タイプ「ice_cream」またはタイプ「hot_dog」のみが表示されるようにパターン一致できることはわかっていますが、そのキーがその値に設定されている場合、特定の他のフィールドの要件を強制する方法がわかりません。「依存関係」と呼ばれるjsonスキーマフィールドがあることがわかりましたが、それを使用する方法の良い例は見つかりませんでした.
ところで、この入力 JSON が適切な形式であるかどうかはわかりませんが (JSON 構造のタイプを効果的にオーバーロードしています)、API を変更するオプションはありません。
json - JSON スキーマ : キーに情報を保存できるようにします
JSON ベースのプロトコルのスキーマを正式に定義したいと考えています。スキーマには次の 2 つの基準があります。 1. ツールを使用してパーサー/シリアライザー (php および .net) を作成できるようにしたい。2. 結果の JSON は人間が読みやすいものにする必要があります
これが文脈です。スキーマはゲーム キャラクターを記述します。例として、プロファイルの 1 つの側面である職業を取り上げます。キャラクターは 2 つまでの職業を持つことができます (10 のリストから)。各職業は名前とレベルによって記述されます。例:
スキニング - レベル 200 鍛冶屋 - レベル 300
基準 1 を満たすには、XSD スキーマ (または JSON スキーマ) を使用してコード ジェネレーターまたはパーサー ライブラリを駆動することが非常に役立ちます。しかし、それは私の JSON が次のように見える必要があることを意味します:
しかし、あまりにもおしゃべりな感じがするので、JSON を次のようにしたいと思います (職業がキーとして使用されていることに注意してください)。
しかし、後のJSONは職種ごとに要素を定義しないとXSDで記述できません。
だから私は自分の状況の解決策を探しています.ここに私が特定したオプションがあります:
- 黙って、JSON XSD フレンドリーにします (上記の最初のスニペット)
- 黙ってJSONを人間に優しくし、パーサー/シリアライザーを手作業でコーディングしてください。
しかし、両方の基準を満たすソリューションを見つけたいと思っています。
注: Newton-King の JSON ライブラリを使用すると、職業を Dictionary として解析できることは承知していますが、この JSON をマップする型を手動でコーディングする必要があります。したがって、これまでのところ、オプション 2 に傾いていますが、提案は受け付けています。
json - 機能する jQuery Validator 実装のルールを JSONSchema に移植することを望んでいます
クライアントとサーバーの両方で任意の JSON を検証できるように、既存の (そして動作している) クライアント側の jQuery 検証スキーマを JSONSchema に移動しようとしています。
私のアプリケーションは本質的に、他の質問に対するユーザーの応答に基づいて、どの質問を行うべきかを決定する多くの複雑なロジックを備えた巨大なフォームの集まりです。各フォームには 200 以上のフィールドがあります。
現在、私はクライアント側の検証のみを行っており、約 99% の確率でうまく機能しています。ブラウザの問題が数回発生しましたが、壊滅的なものはありません. そうは言っても、サーバー側の検証を行いたい(!)。
JSONSchema ドラフトを読み、v3 実装のいくつかを参照した後、アプリケーションが依存するようになったより複雑なルールのいくつかを失う可能性があるようです。どこかの方向に進みすぎる前に、何かを見逃していないことを確認したいのです。
いくつかの例:
「x == 10 の場合、y が必要です。それ以外の場合はオプションです」
10 はリテラル値、列挙型などになる可能性がありますが、同じ構造内の別のフィールドを参照し、その値が存在するだけでなく、特定の型/値と同等であることを保証できる必要があります。
これは、JSONSchema リストのこのスレッドで対処されていると思います。
「x = 今日の日付、y = 明日の日付の場合、x > y」
このロジックは、「開始日」が「終了日」よりも前になるようにするために使用されます。
私が見ることができることから、このようなものは何もなく、それを行う唯一の方法は、新しく評価された JSON のチャンクをスキーマとして渡すことです。
上記のニーズを満たすために私が見つけた最も近いものはCERNYです。
間違ったツリーを鳴らしている場合は、お知らせください。また、クライアントとサーバーの両方で backbone.js を実行することも検討しています。
tl;dr;
大規模で複雑なフォーム用の一連の検証ルールを維持し、これらの検証ルールをクライアント側とサーバー側の両方で任意の JSON ドキュメントに適用したいと考えています。
.net - JSON スキーマから C# クラスを生成する
JSON 形式で大量のデータを返す C# WCF Web サービスを作成しています。クライアントは現在別のチームが開発中の iPad アプリケーションなので、サンプル データなしで仕様に取り組んでいます。
現在、JSON 文字列は .net フレームワークによって作成されています。私の Web サービスは、DataContracts を使用してフレームワークによってシリアル化されるすべての情報を含む C# オブジェクトを返しています。
私の問題は、通信仕様に JSON スキーマ ファイル ( http://json-schema.org/に基づく) しか含まれていないことです。開発を容易にするために、対応するクラスを C# で生成したいと考えていますが、ファイルには非常に多くの情報が含まれており、多数のファイルが存在するため、それらのクラスを手動で作成することはあまりしたくありません。
だから私は次のいずれかを可能にするツールを探しています:
- JSON スキーマから C# クラスを生成します。
- JSON スキーマを XSD ファイルに変換します。XSD からクラスを生成するためのツールがたくさんあるので、クラスを作成するのは簡単です。
JSON スキーマに対して JSON 文字列を検証したり、JSON 文字列からクラスを生成したりするための多くのツールを見つけましたが、役に立たないようです。JSON.NET
が
ありますが、ツールではなくライブラリのようで、それを使用したクラスの生成に関する情報は見つかりませんでした。
したがって、誰かがツールを知っているか、それらのクラスを生成する方法についてアイデアを持っている場合 (Java でクラスを作成するツールを試しましたが、機能しませんでした)。
json.net - Json.NETでJSONスキーマの「デフォルト」属性をどのように使用しますか?
次のように、プロパティのデフォルト値を指定する JSON スキーマがあるとします。
...そして次のような JSON 文字列
...そのJSON文字列を逆シリアル化してbar
、nullではなく「何らかのテキスト」(デフォルト値)に設定するにはどうすればよいですか?
json - JSON データから JSON スキーマを生成するツール
この json スキーマドラフトがあります。JSON データのサンプルを取得し、JSON スキーマのスケルトンを生成したいと考えています。これは、特定の例からは推測できない説明や必須などを追加して手動で作り直すことができます。
たとえば、私の入力からexample.json
:
json_schema_generator ツールを実行すると、次のようになります。
この例は手動でコーディングされているため、エラーが含まれている可能性があります。JSON -> JSON スキーマの変換に役立つツールはありますか?
java - Java を介して XML スキーマから JSON スキーマを生成するツールはありますか?
Java で XML スキーマから JSON スキーマを生成したり、JSON スキーマから XML スキーマを生成したりできるツールやアプローチを知っている人はいますか?
java - Jsonスキーマのタイプを設定するにはどうすればよいですか?
代表的なJsonクラスを介してJacksonによって作成されたJsonスキーマ(以下に表示)があります。
しかし、私はとの型を数値や整数ではなく文字列にしたいのstartDate
ですendDate
。それを達成する方法はありますか?
ありがとう。
json - これは XSD の正しい JSONSchema/Json ですか?
目的は、XSD スキーマを JSON スキーマに変換することです。私は最初に XSD を JSON にしようとしています。次に、JSON を修正して JSON スキーマにできるかどうかを確認しています。この手順はすべて、現時点では XSD を JSON スキーマに変換する直接的な方法がわからないためです。今のところ、次のフラグメントを検討してください。私はXSDの次のフラグメントを持っています
私が得る対応するJSONは
だから私の質問は
- これは正しいですか ?
- 属性 ref を @ref ではなく $ref としてオーバーライドする必要があります (ただし、シリアライゼーションの解除が難しくなります)。
- これは JSONSchema 仕様に準拠していますか。
仕様はhttp://json-schema.org/にあります。
私はこれを達成するためにc#とJson.netを使用しました。
java - XSDからJAVAクラスに変換するときにディレクトリ階層を維持しますか?
ディレクトリ構造に存在するXSDスキーマのセットがあります。JAXBを使用してJavaクラスに変換しています。これで、変換時にスキーマがいくつかのクラスに分割され、デフォルトのパッケージに入れられます。デフォルトのパッケージをオーバーライドできますが、XSDと同じディレクトリ構造を維持したいと思います。 これは、各XSDを一度に1つずつ手動で変換する必要があることを意味しますか。また、単一のXSDを複数のクラスに分割しているため、これらのクラスをJSONスキーマに変換するのが難しくなります。したがって、理想的には、各XSDを単一のクラスに変換したいと思います。だから、私は私の質問をより簡単な言葉で言います
ディレクトリ構造を維持するにはどうすればよいですか?
各XSDが単一のJavaクラスに対応していることを確認するにはどうすればよいですか?
究極の目標はxsdをJSONスキーマに変換することなので、私はそれをすべて間違っていますか?
XSDをJSONに変換するなどの別のアプローチを取り、それを操作してJSONスキーマにする必要がありますか?