我無法將JSON字符串轉換爲asp.net中的.net對象。我從客戶端使用隱藏字段發送JSON字符串到服務器(通過隱藏字段保持JSON object.Tostring()和隱藏文件代碼讀取隱藏字段的值)在asp.net中將JSON轉換爲.Net對象時出錯
JSON字符串/對象:
[[{"OfferId":"1","OrderValue":"11","HostingTypeID":"3"},
{"OfferId":"1","OrderValue":"11","HostingTypeID":"3"},
{"OfferId":"1","OrderValue":"11","HostingTypeID":"3"},
{"OfferId":"1","OrderValue":"2","HostingTypeID":"3"},
{"OfferId":"1","OrderValue":"2","HostingTypeID":"3"},
{"OfferId":"1","OrderValue":"67","HostingTypeID":"3"},
{"OfferId":"1","OrderValue":"67","HostingTypeID":"3"}],
[{"OfferId":"1","OrderValue":"99","HostingTypeID":"6"}],
[{"OfferId":"1","OrderValue":"10","HostingTypeID":"8"}]]
.NET對象代碼
public class JsonFeaturedOffer
{
public string OfferId { get; set; }
public string OrderValue { get; set; }
public string HostingTypeID { get; set; }
}
Converstion代碼隱藏文件
byte[] byteArray = Encoding.ASCII.GetBytes(HdnJsonData.Value);
MemoryStream stream = new MemoryStream(byteArray);
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(JsonFeaturedOffer));
object result= serializer.ReadObject(stream);
JsonFeaturedOffer jsonObj = result as JsonFeaturedOffer;
雖然轉換我收到以下錯誤:
期待元素的命名空間「根」「」 ..遇到「無」名爲「」,命名空間'。
你錯了一件事:它比我在我的測試中看到的要慢x3-4倍 – 2016-08-04 21:56:17
這是2010年的答案,我當然希望標準的json序列化程序有所改進:) – ntziolis 2017-01-25 16:56:59
@ntziolis並非如此。即使微軟建議使用Newtonsoft。 JSON.Net的性能令人難以置信。 – krillgar 2017-06-12 17:08:59