我想反序列化一个 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));
我做错了什么?对象计数为零。我只需要使用路径值。
最佳答案
那是一个根对象,而不是一个列表。尝试:
var obj = s.Deserialize<myObject>(File.ReadAllText(json));
此外,我假设这里的 json
是一个文件路径,而不是 json 本身。
关于c# - 反序列化 json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19998492/