我在使用JavascriptDeserializer
在c#中反序列化嵌套的JSON对象数时遇到问题这是我的代码
using (Stream s = request.GetResponse().GetResponseStream())
{
using (StreamReader sr = new StreamReader(s))
{
string jsondata = sr.ReadToEnd();
var workout = ser.Deserialize<clServiceOutput1>(jsondata);
}
}
这是我的Jsondata
{"Data":"50951","FileData":[37,80,68,70,45,49,46,51,13,37,226,227,207,211,13,10],"MailItem":null,"Status":"Success","TurnAroundTime":null}
这是我的班级
public class clServiceOutput1
{
public string Data { get; set; }
public string FileData { get; set; }
public string MailItem { get; set; }
public string Status { get; set; }
public string TurnAroundTime { get; set; }
}
答案 0 :(得分:2)
FileData
是json
字符串中的数值集合。
"FileData":[37,80,68,70,45,49,46,51,13,37,226,227,207,211,13,10]
你需要
List<int> FileData //or int[]
作为旁注,请使用http://json2csharp.com/复制您的json并返回C#模板类。在上述站点中粘贴JSON会导致:
public class RootObject
{
public string Data { get; set; }
public List<int> FileData { get; set; }
public object MailItem { get; set; }
public string Status { get; set; }
public object TurnAroundTime { get; set; }
}
根据@xanatos
的评论通过字段的名称,它似乎是二进制&#34;流&#34;一个 文件,而不是必须扩展的东西。所以
byte[]
也可以 是你的领域的类型