这是对此问题的后续问题。我问如何解析,我得到了答案。话虽如此,我仍然没有让它工作,但这可能不是因为答案不足。
我想调试不当行为,但坦率地说我不知道如何。
这是我的反序列化代码。
DataContractJsonSerializer serializer
= new DataContractJsonSerializer(typeof(Customer));
MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(textToParse));
Envelope customer = (Customer)serializer.ReadObject(stream);
return "Status = " + customer.Status + " and guid = " + customer.Guid
这是我使用的数据合约。
[DataContract]
public class Customer
{
[DataMember(Name = "Status")]
public int Status;
[DataMember(Name = "CustomerId")]
public String Guid;
[DataMember(Name = "Information")]
public Object Info;
}
这是要解析的文本的头部。
{"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"},
...
问题是属性Status显示为 0 而Guid显示为 null 或空字符串。我只是不打他们。这里有什么问题,我该如何调试?