如何在 C# 中反序列化奇怪的 JSON 格式

我有一个来自服务器的 JSON 响应:

"{\"Data\":[{\"AI\":\"(00)103002310000531111\",\"BatchId\":157,\"LogisticLevel\":7,\"ParentId\":-1,\"State\":1,\"SyncState\":-1,\"InternalID\":86996,\"ModifyReason\":null,\"AggregationDate\":\"1900-01-01T00:00:00\",\"CommissioningDate\":\"1900-01-01T00:00:00\",\"DecommissioningDate\":\"1900-01-01T00:00:00\",\"NumberOfChildren\":0,\"RejectCode\":-1,\"ShippingDate\":\"1900-01-01T00:00:00\",\"TotalNumberOfUnits\":1,\"CompanyPrefix\":\"030023\",\"FilterValue\":7,\"PackLevel\":1,\"ReferenceCode\":\"\",\"Schema\":1,\"SerialNumber\":\"1000053111\",\"IsGood\":true,\"Children\":[]}],\"Code\":10,\"Message\":\"Data retrieved\"}"

http://img3.mukewang.com/60ceee2800015a0609570301.jpg

我的回答是错误的...斜线太多...为什么?

我使用 Newtonsoft JSON 序列化数据。但是格式不正确,我在客户端反序列化时收到错误。我看到 JSON 字符串中有斜杠。我该如何解决这个问题?我使用 C#。


阿波罗的战车
浏览 141回答 2
2回答

慕无忌1623718

String json= "{\"Data\":[{\"AI\":\"(00)103002310000531111\",\"BatchId\":157,\"LogisticLevel\":7,\"ParentId\":-1,\"State\":1,\"SyncState\":-1,\"InternalID\":86996,\"ModifyReason\":null,\"AggregationDate\":\"1900-01-01T00:00:00\",\"CommissioningDate\":\"1900-01-01T00:00:00\",\"DecommissioningDate\":\"1900-01-01T00:00:00\",\"NumberOfChildren\":0,\"RejectCode\":-1,\"ShippingDate\":\"1900-01-01T00:00:00\",\"TotalNumberOfUnits\":1,\"CompanyPrefix\":\"030023\",\"FilterValue\":7,\"PackLevel\":1,\"ReferenceCode\":\"\",\"Schema\":1,\"SerialNumber\":\"1000053111\",\"IsGood\":true,\"Children\":[]}],\"Code\":10,\"Message\":\"Data retrieved\"}";&nbsp;dynamic bsObj = JsonConvert.DeserializeObject<dynamic>(json);&nbsp;Console.WriteLine(bsObj.ToString());&nbsp;Console.WriteLine(bsObj.Data[0].BatchId.ToString());&nbsp; //157&nbsp;Console.WriteLine(bsObj.Code.ToString()); // 10&nbsp;Console.WriteLine(bsObj.Message.ToString()); // Data retrieved
打开App,查看更多内容
随时随地看视频慕课网APP