データ コントラクト クラスを作成することで、デシリアライゼーションを作成することができました (1 トンの顧客を悩ませた後)。私の問題は、宣言した両方のフィールドが空のものを返していることです。それで、私はそれを見て、JSON オブジェクトがネストされていることに気付きました。内部にあるパーツにアクセスする方法が不明です。
データ コントラクトはこのようなものですが、Boppを null (または空の文字列、どちらか不明)として取得し、 Moppを一連のゼロとして取得しています。
[DataContract]
public class Customer
{
[DataMember(Name = "Beep")]
public String Bopp;
[DataMember(Name = "Meep")]
public Guid Mopp;
}
データはこのフォームにあると思いました。
[
{"Beep":"beep1", "Meep":"meep1"},
{"Beep":"beep2", "Meep":"meep2"},
{"Beep":"beep3", "Meep":"meep3"}
]
しかし、どうやら、彼らはオブジェクトを他のオブジェクトの中に移動したので、よりこのようになっています.
[ "root":[
{
"A":"some",
"B":[
{"Beep":"beep1", "Meep":"meep1"},
{"Beep":"beep2", "Meep":"meep2"},
{"Beep":"beep3", "Meep":"meep3"}],
"C":"some"
},
{
"A":"some",
"B":[
{"Beep":"beep1", "Meep":"meep1"},
{"Beep":"beep2", "Meep":"meep2"},
{"Beep":"beep3", "Meep":"meep3"}],
"C":"some"
}
]]
データ コントラクトを再設計して、適切なフィールドにアクセスできるようにするにはどうすればよいですか? それとも、データ メンバーの名前がフィールドと異なっていてはならない (つまり、BeepとBoppが機能しない) 何かが足りないのでしょうか?!
編集:
リクエストに応じて、文字列から (ほぼ) ライブ データを投稿しています。
{"CustomerStatuses":[{
"Information":[{"Guid":"1","Role":"Customer"}],
"CustomerId":"12345678-1234-1324-1234-123456781234",
"Status":4},
"Information":[{"Guid":"5","Role":"Customer"}],
"CustomerId":"12345678-1234-1324-1234-123456781234",
"Status":6},
"Information":[{"Guid":"7","Role":"Seller"}],
"CustomerId":"12345678-1234-1324-1234-123456781234",
"Status":6},
...
そして、これが実際のデータ コントラクトです。
[DataContract]
public class Customer
{
[DataMember(Name = "Status")]
public String Status;
[DataMember(Name = "CustomerId")]
public Guid Guid;
}