[英]Type 'System.String' is not supported for deserialization of an array
[英]Getting error Type 'System.String' is not supported for deserialization of an array
我在使用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; }
}
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的評論
用該字段的名稱,它似乎是文件的二進制“流”,而不是必須擴展的內容。 因此,
byte[]
也可能是您字段的類型
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.