簡體   English   中英

獲取錯誤類型'System.String'不支持數組反序列化

[英]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; }

    }

FileDatajson字符串中數字值的集合。

"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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM