我无法将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