如何反序列化嵌套对象
本文关键字:对象 嵌套 反序列化 | 更新日期: 2023-09-27 17:58:36
我已经通过创建一个数据契约类(在向客户唠叨了一公吨之后)成功地创建了一个反序列化。我的问题是,我声明的两个字段都返回了空的东西。所以,我看了一下,发现JSON对象是嵌套的,我不清楚如何访问里面的部分。
数据合约是这样的,但我将Bopp作为null(或空字符串,不确定是哪个),将Mopp 我认为数据在这个表单上。 然而,很明显,他们将对象移到了另一个内部,所以更像这样。 如何重新设计数据合同,使其访问正确的字段?或者我遗漏了什么,并且数据成员的名称不能与字段不同(即Beep和Bopp不起作用)?! 编辑: 根据请求,我发布(几乎)来自字符串的实时数据。 这是实际的数据合同。[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"
}
]]
{"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;
}
您的类结构需要匹配Json:
<DataContract>
Public Class Customer
<DataMember(Name:="Status")>
Public Property Status As Int32
<DataMember>
Public Property Information As Object
<DataMember>
Public Property CustomerId As String
End Class
Public Class Customers
Public Property CustomerStatuses As List(Of Customer)
End Class