0
我的第一次尝试和JSON序列化和我卡住了,只是想知道你能帮忙吗?嵌套数据的反序列化
我有以下的JSON
{
"summary":{
"pricing":{
"net":988,
"tax":13,
"gross":729
},
"status":{
"runningfor":29881175,
"stoppedfor":88805,
"idlefor":1298331744
}
}
}
这里我的C#代码
private void MakeRequest()
{
HttpWebRequest request = WebRequest.Create(Url) as HttpWebRequest;
request.Method = "GET";
request.ContentType = "application/x-www-form-urlencoded";
request.Credentials = new NetworkCredential(Username, Password);
request.Headers.Add(string.Format("App-Key: {0}", ApiKey));
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
string resutls = reader.ReadToEnd();
Response.Write(resutls);
Status status = JSONHelper.JsonDeserialize<Status>(resutls);
Response.Write(status.RunningFor);
}
}
public class JSONHelper
{
/// <summary>
/// JSON Deserialization
/// </summary>
public static T JsonDeserialize<T>(string jsonString)
{
T obj = Activator.CreateInstance<T>();
MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(jsonString));
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
obj = (T)serializer.ReadObject(ms);
ms.Close();
return obj;
}
}
[DataContractAttribute(Name = "status")]
public class Status
{
[DataMember(Name = "runningfor")]
public int RunningFor{ get; set; }
[DataMember(Name = "stoppedfor")]
public int StoppedFor{ get; set; }
[DataMember(Name = "idlefor")]
public int IdleFor{ get; set; }
}
而我只在状态结果没有别的都感兴趣。我做错了什么,因为它只为RunningFor返回0。
在此先感谢