C# 如何拆分json格式字符串以将其反序列化为.net对象?
这个主题听起来不清楚,但逻辑很简单。我返回了一个json格式的响应数据。我想将其反序列化为我已经定义的.net对象。我使用JavaScriptSerializer类反序列化方法,它要求参数为字符串。现在我的响应数据是json格式的,并且有多个根 我的代码是C# 如何拆分json格式字符串以将其反序列化为.net对象?,c#,C#,这个主题听起来不清楚,但逻辑很简单。我返回了一个json格式的响应数据。我想将其反序列化为我已经定义的.net对象。我使用JavaScriptSerializer类反序列化方法,它要求参数为字符串。现在我的响应数据是json格式的,并且有多个根 我的代码是 WebRequest request = WebRequest.Create ("https://xxx.xxxxxx.com/xxxxx"); request.Method = "GET"; request.Conten
WebRequest request = WebRequest.Create ("https://xxx.xxxxxx.com/xxxxx");
request.Method = "GET";
request.ContentType = "application/json";
var response = (HttpWebResponse)request.GetResponse();
using (var streamReader = new StreamReader(response.GetResponseStream()))
{
var responseText = streamReader.ReadToEnd();
}
responseText值为
[
{
"webinarKey":5303085652037254656,
"subject":"Test+Webinar+One",
"description":"Test+Webinar+One+Description",
"organizerKey":73563532324,
"times":[{"startTime":"2011-04-26T17:00:00Z","endTime":"2011-04-26T18:00:00Z"}]
},
{
"webinarKey":9068582024170238208,
"name":"Test+Webinar+Two",
"description":"Test Webinar Two Description",
"organizerKey":73563532324,
"times":[{"startTime":"2011-04-26T17:00:00Z","endTime":"2011-04-26T18:00:00Z"}]
}
]
我使用以下代码将responseText反序列化到我定义的.net对象
JavaScriptSerializer ser = new JavaScriptSerializer();
Webinar w=ser.Deserialize<Webinar>(responseText);
JavaScriptSerializer ser=newJavaScriptSerializer();
网络研讨会w=ser.Deserialize(responseText);
错误显示为responseText是数组,而不是字符串。
那么如何分割responseText?我认为这里不适合使用string.split()方法。您的响应文本实际上是一个json数组(包含2个元素),如
[
和]
字符所示。请尝试以下操作:
Webinar[] w=ser.Deserialize<Webinar[]>(responseText);
Webinar[]w=ser.Deserialize(responseText);
您的响应文本实际上是一个json数组(包含2个元素),如[
和]
字符所示。请尝试以下操作:
Webinar[] w=ser.Deserialize<Webinar[]>(responseText);
Webinar[]w=ser.Deserialize(responseText);
您是否尝试过:列表w=ser.Deserialize(responseText)代码>?您是否尝试过:列表w=ser.Deserialize(responseText)代码>?您是否尝试过反序列化数组而不是单个对象网络研讨会[]
<代码>序列反序列化(responseText)代码>您是否尝试过反序列化数组而不是单个对象网络研讨会[]
<代码>序列反序列化(responseText)代码>