簡體   English   中英

反序列化json數組

[英]Deserializing json array

我想反序列化一個json字符串,但不知怎的,我沒有得到正確的值:(這是輸入json字符串

{
  "files":[
    {"path":"/c/asd/input.txt","size":13},
    {"path":"/c/asd/input.txt","size":136},
    {"path":"/c/asd/input.txt","size":483},
    {"path":"/c/asd/input.txt","size":136}
  ],
  "md5sum":"bbd88df7b2d8c95f922ebf0d718b5687"
}

為它創建了一個類

public class Files
    {
    public string path { get; set; }
    public int size { get; set; }
    }
public class myObject
    {
    public List<Files> files { get; set; }
    public string md5sum { get; set; }
    }

並嘗試使用JavaScriptSerializer:

var jss = new JavaScriptSerializer();
List<myObject> obj = s.Deserialize<List<myObject>>(File.ReadAllText(json));

我究竟做錯了什么? obj count為零。 我只需要使用路徑值。

這是一個根對象,而不是列表。 嘗試:

var obj = s.Deserialize<myObject>(File.ReadAllText(json));

另外,我假設這里的json是文件的路徑,而不是json本身。

嘗試

jss.Deserialize<myObject>(File.ReadAllText(json));

因為您嘗試反序列化集合(List),但s對象不是集合。

您的輸入json不是list.Change Deserialize<List<myObject>Deserialize<myObject>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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