【发布时间】:2016-02-25 10:25:13
【问题描述】:
我正在使用 JavaScriptserializer 反序列化 HTTP 响应并转换回对象。
获取响应的代码:
using (var response = (HttpWebResponse)request.GetResponse())
{
var responseValue = string.Empty;
if (response.StatusCode != HttpStatusCode.OK)
{
var message = String.Format("Request failed. Received HTTP {0}", response.StatusCode);
throw new ApplicationException(message);
}
using (var reader = new StreamReader(response.GetResponseStream()))
{
JavaScriptSerializer js = new JavaScriptSerializer();
var objText = reader.ReadToEnd();
var myobj = js.Deserialize<List<NPIObj>>(objText);
}
我得到如下 JSON 字符串: 对象文本:
{
"NPI": [
{
"NPI": "1003000118",
"EntityType": "Organization",
"IsOrgSubpart": "N",
"OrgName": "STEVEN ENGEL PEDIATRICS",
"FirstLineMailingAddress": "1700 NEUSE BLVD",
"MailingAddressCityName": "NEW BERN",
"MailingAddressStateName": "NC",
"MailingAddressPostalCode": "28560-2304",
"MailingAddressCountryCode": "US",
"MailingAddressTelephoneNumber": "252-637-3799",
"MailingAddressFaxNumber": "252-633-0944",
"FirstLinePracticeLocationAddress": "1700 NEUSE BLVD",
"PracticeLocationAddressCityName": "NEW BERN",
"PracticeLocationAddressStateName": "NC",
}
]
}
问题发生了,我能够在 objText 变量中获得 JSON 响应。 但是当我尝试反序列化对 NPIObj 的响应时,计数为 0。
var myobj = js.Deserialize<List<NPIObj>>(objText);
myobj 变量的计数为 0,即使我收到 JSON 响应。
这是我的 NPIObj 类:
public class NPIObj
{
public string EntityType { get; set; }
public string FirstLineMailingAddress { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string MailingAddressCityName { get; set; }
public string MailingAddressCountryCode { get; set; }
public string MailingAddressPostalCode { get; set; }
public string MailingAddressStateName { get; set; }
public string MiddleName { get; set; }
public string NamePrefix { get; set; }
public string NPI { get; set; }
public string OrgName { get; set; }
public string SecondLineMailingAddress { get; set; }
}
谁能帮助我如何获得对 NPIObj 的回复?
【问题讨论】:
标签: c# json deserialization httpresponse javascriptserializer