c# - 反序列化 json 数组

标签 c# json javascriptserializer

我想反序列化一个 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/

相关文章:

c# - Window Media Player 播放完毕后如何关闭?

c# - 我如何在内存列表中分组?

javascript - 使用不同的键合并 2 个 JSON 数组

c# - Asmx Web 服务如何返回 JSON 而不是 XML?

c# - Html Agility Pack - - 提取具有 “empty” 类属性的节点或选择一对节点(一个及其紧随其后的节点)

c# - 使用区域管理器导航到在区域中声明的选项卡控件的选项卡

javascript - JSONP 是否对响应施加了一些大小限制?

javascript - 如何检查特定数组的值并递增或递减它?

c# - 如何序列化用 [ScriptIgnore] 属性装饰的属性?

c# - JSON使用函数参数序列化一个对象