問題タブ [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.

0 投票する
2 に答える
608 参照

c# - さまざまなソースから列挙するためにjsonを解析する方法

さまざまなソースからjson形式のデータを取得しており、それらを同じインターフェイスを実装するオブジェクトにマップしようとしています。

json変数は、フィード1から次のようになります。

そして、私はこのオブジェクトを使用してそれをシリアル化しています:

インターフェイスは次のようになります。

フィード2では、オブジェクトは次のようになります。

同じインターフェイスを実装し、同じ列挙型を返す別のオブジェクトを作成するにはどうすればよいですか?DataContractを設定するにはどうすればよいですか?

編集:

このように連載します

0 投票する
2 に答える
928 参照

json - JSON 文字列と DatacontractJsonDeserializer

サービスから返されたJson文字列を解析しようとしています。簡単にするために、次のようになります。

現在、次の関数を使用してjson文字列をオブジェクトに読み取っていますが、すべてのプロパティは常に何もありません。上記の文字列の json オブジェクトごとにオブジェクトを作成しました。オブジェクトには Datacontract 属性と Datamember 属性があります。ヒントはありますか?

0 投票する
1 に答える
7165 参照

c# - System.Runtime.Serialization.Jsonを使用したJSONの逆シリアル化

一部のjsonをC#で逆シリアル化する際に問題が発生します。

これが私が送信されているjsonのスニペットであると仮定します(何度も繰り返されますが、id / name以外は何もありません):

トップレベルに名前が付けられたら、私は次のようなことをします

次に、これを呼び出して逆シリアル化します。

しかし、トップレベルのコンテナオブジェクトがなく、空白のデータメンバー名を使用できない場合はどうすればよいですか?DataMemberに名前を付けないでおくと(つまり、[DataMember]のままにしておくと)null値が返されます。これは、正しく解析できなかったことを示します。

エラーはスローされず、応答ストリームには私が期待するものが正確に入力されます。

私が周りを探し回ることと基本的な推論を知ることができることから、私は必要な場所からそれほど遠くないはずです。その最高レベルの処理で私が間違っていることがあります。

0 投票する
1 に答える
16940 参照

c# - null 値を持つノードをスキップする DataContractJsonSerializer

DataContractJsonSerializerカスタム オブジェクトを JSON にシリアル化するために使用しています。しかし、値が であるデータ メンバーをスキップしたいnullDataMemberそのノードがnullJSON 文字列に含まれていない場合。

どうすればこれを達成できますか?簡単code snippetに操作できます。

0 投票する
1 に答える
646 参照

c# - DataContractJsonSerializer を使用して異なる型の配列で json を逆シリアル化します

そのようなjsonを逆シリアル化する方法はありますか

DataContractJsonSerializerソースを変更せずに C#を使用します。私は最初の要素19を意味します。

0 投票する
1 に答える
1762 参照

c# - C# でストリーム リーダーを使用して、ネストされたオブジェクトを持つ JSON オブジェクトを効率的に逆シリアル化するにはどうすればよいですか?

JSON オブジェクトのネストされた配列を含む JSON オブジェクトを効率的に逆シリアル化したいと考えています。

たとえば、JSON ディレクトリ リストには、ファイル システム オブジェクトの再帰配列を持つルート JSON ファイル システム オブジェクトを含めることができます。

対応する C# クラスは次のようになります。

私は.NET DataContractJsonSerializer を試しました。

また、JSON.NET JsonSerializer + JsonTextReaderなども試しました

しかし、どちらのフレームワークも、JSON サブ配列全体contentsを一度にデシリアライズしてメモリに読み込みます。

一度に 1 つの JsonFileInfo オブジェクトのストリームからこの JSON の結果を読み取るにはどうすればよいですか?

0 投票する
1 に答える
1034 参照

c# - JSON 10 進数から 2 倍

JSON が変数を 10 進数ではなく 2 倍にデコードするように設定する方法はありますか?

例:

10進数を含む「obj」配列を取得しますが、2倍にする必要があります。自分で double に変換したくありません。JsonSerializer にそうするように教える方法はありますか?

0 投票する
2 に答える
9247 参照

c# - DataContractJsonSerializer を使用した JSON オブジェクトの部分的な逆シリアル化

Bitbucket REST API からの応答として、次の JSON オブジェクト (簡略化されたバージョン) を取得しています。

この JSON オブジェクトのうち、逆シリアル化する必要があるのはuser一部だけです。その目的のために、次のクラスを作成しました。

そして、json を逆シリアル化するヘルパー メソッド:

Userしたがって、このコードを使用して逆シリアル化されたオブジェクトを取得しようとすると:

次にuser、すべてのプロパティを含むオブジェクトを作成していますnull。クラスヘッダーで使用する適切な属性を見つけようとしましたが、結果は同じです。また、余分なライブラリ参照を避けるためだけに Json.NET ライブラリを使用していません。また、そのユーザー オブジェクトをUserタイプのプロパティとして保持し、リポジトリ オブジェクトを Repositories[] タイプの配列として保持するラッパー クラスを作成していません。この問題を解決して、null フィールドを持たない逆シリアル化されたユーザー オブジェクトを取得する方法はありますか?

0 投票する
1 に答える
233 参照

c# - Json をデシリアライズするための DataContractJsonSerializer

Json文字列をデシリアライズしようとしています。私のデシリアライゼーションは まで動作しOrderDataます。私が逆シリアル化するOrderDataと、常に表示さnullSourceDataなくなります。エラーも発生していません。これを解決するための提案はありますか?

私の逆シリアル化コードは次のとおりです。

これが私が使用するデータコントラクトです