API呼び出しの結果から、処理するJSONが大量にあります。クラスを作成せずにJSONレスポンスを逆シリアル化する
は、私が現在持っているこの
Object convertObj = JsonConvert.DeserializeObject(responseFromServer);
私は理想的には、私が何かをしたいと思います
Movie m = JsonConvert.DeserializeObject<Movie>(responseFromServer);
ような何かをそして
m.FieldName
m.AnotherField
//etc
ようにそれを使用することができることを承知していますlike
var itemName = convertObj["Name"];
リストの最初の項目の最初の名前の値を取得します。
これは可能ですか、またはデシリアライズするクラスを作成する必要がありますか?
私がクラスを作成したくない理由は、APIの所有者ではなく、フィールド構造が変更される可能性があるためです。
編集。
私はクラスを作成しましたが、これは最善のアプローチですが、JSONをリストに逆シリアル化する方法はありますか?
var sessionScans = new List<SessionScan>();
sessionScans = JsonConvert.DeserializeObject<SessionScan>(responseFromServer);
SessionScanを一般的なリストに変換できないとの苦情を言います。
「ダイナミック」を使用できますが、お勧めしません。 –
[JSONをC#の動的オブジェクトにデシリアライズする]の複製がありますか?(http://stackoverflow.com/questions/3142495/deserialize-json-into-c-sharp-dynamic-object) – Davatar
@MohitShrivastavaなぜそれが推奨されないのですか* ? – Jim