問題タブ [httpresponsemessage]

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 投票する
1 に答える
13209 参照

json.net - 一致するプロパティを持つオブジェクトにキャストしようとしても、タイプ Newtonsoft.Json.Linq.JObject のオブジェクトをキャストできません

VS2017 で ASP.NET Core 2.0 を使用しています。

で返された JSON を逆シリアル化しようとしていHttpResponseMessageますが、「型のオブジェクトをキャストできません...」という例外が発生します。

失敗しているコードは次のとおりです。

最後の行は、例外が発生する場所です...

文字列にある実際のJsonは次のとおりですjsonResult

アップロードされたファイルがまだないため、このuploadedFiles結果では配列は空ですが、空にしても例外は発生しないはずです。空でない場合は、次のような応答が返されます。

これが私のFileUploadListResponseクラスです:

そして、ここに私のUploadedFileクラスがあります:

JSON デシリアライゼーションについての私の理解は次のとおりです。

  1. 要素の大文字と小文字は、JSON 文字列の値と、逆シリアル化しようとしているクラス オブジェクトの間で問題になりません。

  2. 私がデシリアライズしようとしているクラスは、JSON 文字列内のプロパティが考慮されている限り、JSON 文字列で提供されているよりも多くのプロパティを持つことができます。

  3. 配列などの空のサブ配列はUploadedFilesList<UploadedFile>

単純なことだと確信していますが、私はそれを見ていません。ここで何が欠けていますか?