[解決済み] Json.netによるJSONオブジェクト配列のデシリアライズ
2022-05-18 13:37:34
質問
私は、以下の例のような構造を持つAPIを使おうとしています。
[
{
"customer":{
"first_name":"Test",
"last_name":"Account",
"email":"[email protected]",
"organization":"",
"reference":null,
"id":3545134,
"created_at":"2013-08-06T15:51:15-04:00",
"updated_at":"2013-08-06T15:51:15-04:00",
"address":"",
"address_2":"",
"city":"",
"state":"",
"zip":"",
"country":"",
"phone":""
}
},
{
"customer":{
"first_name":"Test",
"last_name":"Account2",
"email":"[email protected]",
"organization":"",
"reference":null,
"id":3570462,
"created_at":"2013-08-12T11:54:58-04:00",
"updated_at":"2013-08-12T11:54:58-04:00",
"address":"",
"address_2":"",
"city":"",
"state":"",
"zip":"",
"country":"",
"phone":""
}
}
]
JSON.netでは、以下のような構成にするとうまくいくでしょう。
{
"customer": {
["field1" : "value", etc...],
["field1" : "value", etc...],
}
}
しかし、私はそれが提供された構造で幸せになるために取得する方法を見つけ出すことができません。
デフォルトのJsonConvert.DeserializeObject(content)を使用すると、正しい数のCustomerが得られますが、すべてのデータがnullになります。
CustomerList (以下) を実行すると、 "Cannot deserialize the current JSON array" という例外が発生します。
public class CustomerList
{
public List<Customer> customer { get; set; }
}
感想は?
どのように解決するのですか?
JSONをデシリアライズするための新しいモデルを作成することができます。
CustomerJson
:
public class CustomerJson
{
[JsonProperty("customer")]
public Customer Customer { get; set; }
}
public class Customer
{
[JsonProperty("first_name")]
public string Firstname { get; set; }
[JsonProperty("last_name")]
public string Lastname { get; set; }
...
}
そして、簡単にJSONをデシリアライズすることができます。
JsonConvert.DeserializeObject<List<CustomerJson>>(json);
ドキュメンテーション JSONのシリアライズとデシリアライズ
関連
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】Visual Studio: 操作を完了できませんでした。パラメータが正しくありません
-
[解決済み] JavaScriptSerializer - 列挙型を文字列としてJSONシリアライズする
-
[解決済み] .NETでC#オブジェクトをJSON文字列に変換するには?
-
[解決済み] JSONをC#のダイナミックオブジェクトにデシリアライズする?
-
[解決済み] json.netを使用して、クラス内のプロパティがnullの場合、それを無視する方法
-
[解決済み] JSON.NET エラー タイプの自己参照ループが検出されました。
-
[解決済み] Json.netでシリアライズする際、プロパティ名を変更するにはどうすればよいですか?
-
[解決済み] Json.netを使用してJSONオブジェクトを動的オブジェクトにデシリアライズする。
-
[解決済み】Newtonsoftを使用してJSONを.NETオブジェクトにデシリアライズする(またはLINQ to JSONかも?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】GDI+、JPEG画像をMemoryStreamに変換する際にジェネリックエラーが発生しました。
-
[解決済み】WebForms UnobtrusiveValidationModeは、jqueryのScriptResourceMappingを必要とする
-
[解決済み】パディングが無効で、削除できない?
-
[解決済み】ORA-01008: すべての変数がバインドされていません。これらはバインドされています。
-
[解決済み】EF 5 Enable-Migrations : アセンブリにコンテキストタイプが見つかりませんでした
-
[解決済み】「...は'型'であり、与えられたコンテキストでは有効ではありません」を解決するにはどうすればよいですか?(C#)
-
[解決済み】2年前のMSDateを把握する【クローズド
-
[解決済み】パラメータ付きRedirectToAction
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない
-
[解決済み】C#でJSONをデシリアライズする。