繁体   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