問題タブ [yamldotnet]
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.
c# - yaml から json への変換
swagger スキーマの yaml から json へのコンバーターの実装中に、問題に直面しました: 逆シリアル化ビルダーのデフォルト設定
「整数」、「ブール」型を認識できません。デシリアライザーは、これらの型を文字列に変換します。例:私はyamlを持っています:
変換結果は次のとおりです。
しかし、入力yamlをオンラインコンバーターのいずれかに入れると、正しいjson結果が得られます。
ブール型の動作も。
問題は、適切な変換のためにデシリアライザーをセットアップする方法です。
c# - YamlDotNet のプロパティにカスタム コンバーターを適用する方法
構成ファイルを .json から .yaml 形式に移植しています。Newtonsoft.Json では、カスタム コンバーターが必要なプロパティに属性を適用できました。たとえば、
YamlDotNetを使用して同じことを行うにはどうすればよいですか?
コンバーターがインターフェイスを実装する必要があることは知ってIYamlTypeConverter
いますが、このコンバーターを正確なプロパティに適用するにはどうすればよいですか?
c# - YamlDotNet を使用して YAML を派生コレクションに解析するにはどうすればよいですか?
YamlDotNetを使用して、次の YAML を逆シリアル化しようとしています。
プロパティは、のType
下のすべてのオブジェクトの必須プロパティですCollection
。残りのプロパティはタイプに依存します。
これは私の理想的なオブジェクト モデルです。
私の読書に基づいて、私の最善の策は、から派生したカスタム ノード デシリアライザーを使用することだと思いますINodeDeserializer
。概念実証として、私はこれを行うことができます:
私の問題は、Type
を呼び出す前に選択するを動的に決定する方法nestedObjectDeserializer
です。
JSON.Net を使用すると、 を使用しCustomCreationConverter
、サブ JSON を に読み込み、タイプを決定してから、 からJObject
新しい を作成し、オブジェクトを再解析することができました。JsonReader
JObject
読み取り、ロールバック、再読み取りを行う方法はありますnestedObjectDeserializer
か?
私が呼び出すことができる別のオブジェクト型はありますか?それからプロパティnestedObjectDeserializer
を読み取りType
、最終的に派生型の通常の YamlDotNet 解析に進みますか?
c# - YamlDotNet への JObject の C# シリアル化エラー
ここでチケットを開きましたが、誰かがかなり簡単に答えてくれることを願っています.
YamlDotNet は ISerializable をサポートしていませんが、Json.Net はサポートしています。そのため、回避策として、最初にオブジェクトを JObject にシリアライズしようとしています。これは、シリアライゼーション設定を尊重し、適切なプロパティのみをシリアライズします。次に、JObject を YamlSerializer に送信したいのですが、次のエラーが発生します。
「オブジェクトがターゲット タイプと一致しません」