問題タブ [datacontractjsonserializer]
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# - さまざまなソースから列挙するためにjsonを解析する方法
さまざまなソースからjson形式のデータを取得しており、それらを同じインターフェイスを実装するオブジェクトにマップしようとしています。
json変数は、フィード1から次のようになります。
そして、私はこのオブジェクトを使用してそれをシリアル化しています:
インターフェイスは次のようになります。
フィード2では、オブジェクトは次のようになります。
同じインターフェイスを実装し、同じ列挙型を返す別のオブジェクトを作成するにはどうすればよいですか?DataContractを設定するにはどうすればよいですか?
編集:
このように連載します
json - JSON 文字列と DatacontractJsonDeserializer
サービスから返されたJson文字列を解析しようとしています。簡単にするために、次のようになります。
現在、次の関数を使用してjson文字列をオブジェクトに読み取っていますが、すべてのプロパティは常に何もありません。上記の文字列の json オブジェクトごとにオブジェクトを作成しました。オブジェクトには Datacontract 属性と Datamember 属性があります。ヒントはありますか?
c# - System.Runtime.Serialization.Jsonを使用したJSONの逆シリアル化
一部のjsonをC#で逆シリアル化する際に問題が発生します。
これが私が送信されているjsonのスニペットであると仮定します(何度も繰り返されますが、id / name以外は何もありません):
トップレベルに名前が付けられたら、私は次のようなことをします
次に、これを呼び出して逆シリアル化します。
しかし、トップレベルのコンテナオブジェクトがなく、空白のデータメンバー名を使用できない場合はどうすればよいですか?DataMemberに名前を付けないでおくと(つまり、[DataMember]のままにしておくと)null値が返されます。これは、正しく解析できなかったことを示します。
エラーはスローされず、応答ストリームには私が期待するものが正確に入力されます。
私が周りを探し回ることと基本的な推論を知ることができることから、私は必要な場所からそれほど遠くないはずです。その最高レベルの処理で私が間違っていることがあります。
c# - null 値を持つノードをスキップする DataContractJsonSerializer
DataContractJsonSerializer
カスタム オブジェクトを JSON にシリアル化するために使用しています。しかし、値が であるデータ メンバーをスキップしたいnull
。DataMember
そのノードがnull
JSON 文字列に含まれていない場合。
どうすればこれを達成できますか?簡単code snippet
に操作できます。
c# - DataContractJsonSerializer を使用して異なる型の配列で json を逆シリアル化します
そのようなjsonを逆シリアル化する方法はありますか
DataContractJsonSerializer
ソースを変更せずに C#を使用します。私は最初の要素19を意味します。
c# - C# でストリーム リーダーを使用して、ネストされたオブジェクトを持つ JSON オブジェクトを効率的に逆シリアル化するにはどうすればよいですか?
JSON オブジェクトのネストされた配列を含む JSON オブジェクトを効率的に逆シリアル化したいと考えています。
たとえば、JSON ディレクトリ リストには、ファイル システム オブジェクトの再帰配列を持つルート JSON ファイル システム オブジェクトを含めることができます。
対応する C# クラスは次のようになります。
私は.NET DataContractJsonSerializer を試しました。
また、JSON.NET JsonSerializer + JsonTextReaderなども試しました
しかし、どちらのフレームワークも、JSON サブ配列全体contents
を一度にデシリアライズしてメモリに読み込みます。
一度に 1 つの JsonFileInfo オブジェクトのストリームからこの JSON の結果を読み取るにはどうすればよいですか?
c# - JSON 10 進数から 2 倍
JSON が変数を 10 進数ではなく 2 倍にデコードするように設定する方法はありますか?
例:
10進数を含む「obj」配列を取得しますが、2倍にする必要があります。自分で double に変換したくありません。JsonSerializer にそうするように教える方法はありますか?
c# - DataContractJsonSerializer を使用した JSON オブジェクトの部分的な逆シリアル化
Bitbucket REST API からの応答として、次の JSON オブジェクト (簡略化されたバージョン) を取得しています。
この JSON オブジェクトのうち、逆シリアル化する必要があるのはuser
一部だけです。その目的のために、次のクラスを作成しました。
そして、json を逆シリアル化するヘルパー メソッド:
User
したがって、このコードを使用して逆シリアル化されたオブジェクトを取得しようとすると:
次にuser
、すべてのプロパティを含むオブジェクトを作成していますnull
。クラスヘッダーで使用する適切な属性を見つけようとしましたが、結果は同じです。また、余分なライブラリ参照を避けるためだけに Json.NET ライブラリを使用していません。また、そのユーザー オブジェクトをUser
タイプのプロパティとして保持し、リポジトリ オブジェクトを Repositories[] タイプの配列として保持するラッパー クラスを作成していません。この問題を解決して、null フィールドを持たない逆シリアル化されたユーザー オブジェクトを取得する方法はありますか?
c# - Json をデシリアライズするための DataContractJsonSerializer
Json
文字列をデシリアライズしようとしています。私のデシリアライゼーションは まで動作しOrderData
ます。私が逆シリアル化するOrderData
と、常に表示さnull
れSourceData
なくなります。エラーも発生していません。これを解決するための提案はありますか?
私の逆シリアル化コードは次のとおりです。
これが私が使用するデータコントラクトです