Пытается десериализовать строку JSON, я просто получаю null , возвращенный из сериализатора.
JSON действительно, я проверил.
Мои глаза потрясенно смотрят на это сейчас, так что теперь я так надеюсь, что кто-то с большим опытом работы с сериализатором, чем я, сможет заметить что-то «очевидное»!?
Спасибо за любые советы :)
RootObject[] jsonResponse = null;
try
{
if (httpWResp.StatusCode == HttpStatusCode.OK)
{
Stream responseStream = httpWResp.GetResponseStream();
string jsonString = null;
using (StreamReader reader = new StreamReader(responseStream))
{
jsonString = reader.ReadToEnd().Replace("\\", "");
reader.Close();
}
JavaScriptSerializer sr = new JavaScriptSerializer();
jsonResponse = sr.Deserialize<RootObject[]>(jsonString);
Json - это:
{
"Tags":[
{
"Name":"Requestable",
"TotalOccurrences":1,
"SizePercentage":0.33333333333333331
},
{"Name":"Generic","TotalOccurrences":1,"SizePercentage":0.33333333333333331},
{"Name":"YYYYYYY","TotalOccurrences":1,"SizePercentage":0.33333333333333331}
],
"Data":[
{
"LogonName":"xxxxxxxxxxxxxx",
"NetBiosName":"YYYYYYY",
"FriendlyName":"xxxxxxxx",
"Description":"xxxxxxxxxx",
"GroupTypeName":"zzzzzzzzz",
"AllowJoinRequests":true,
"RiskFactorTotal":null,
"IsHighSecurityGroup":false,
"Email":null,
"DistinguishedName":"xxx,yyy,xxx",
"ResourceID":12345,
"GroupID":6789,
"ValidUntil":null,
"IsMailEnabled":false,
"Notes":null,
"RiskFactorLastCalculated":null
}
],
"OutParameters":[
{"Name":"totalCount","Value":1}
]
}
И мои занятия такие:
public class RootObject
{
public List<Tag> Tags { get; set; }
public List<Datum> Data { get; set; }
public List<OutParameter> OutParameters { get; set; }
}
public class Tag
{
public string Name { get; set; }
public int TotalOccurrences { get; set; }
public double SizePercentage { get; set; }
}
public class Datum
{
public string LogonName { get; set; }
public string NetBiosName { get; set; }
public string FriendlyName { get; set; }
public string Description { get; set; }
public string GroupTypeName { get; set; }
public string AllowJoinRequests { get; set; }
public string RiskFactorTotal { get; set; }
public string IsHighSecurityGroup { get; set; }
public string Email { get; set; }
public string DistinguishedName { get; set; }
public int ResourceID { get; set; }
public int GroupID { get; set; }
public string ValidUntil { get; set; }
public string IsMailEnabled { get; set; }
public string Notes { get; set; }
public string RiskFactorLastCalculated { get; set; }
}
public class OutParameter
{
public string Name { get; set; }
public int Value { get; set; }
}