将包含数组的JSON对象反序列化为C#对象

将包含数组的JSON对象反序列化为C#对象,c#,json,deserialization,C#,Json,Deserialization,这是我的JSON字符串: {"type":"motor","ids":["1","2","5","7","8","10"]} 这就是我想从中生成的对象: public class ElementArray { public ElementType type; public String[] ids; public ElementArray() { } } 我怎样才能做到这一点?我在谷歌上搜索了Json.NET,但他们只解释了如何将包含数组的对象反序列化为字段

这是我的JSON字符串:

{"type":"motor","ids":["1","2","5","7","8","10"]}
这就是我想从中生成的对象:

public class ElementArray {
    public ElementType type;
    public String[] ids;

    public ElementArray() {
    }
}
我怎样才能做到这一点?我在谷歌上搜索了Json.NET,但他们只解释了如何将包含数组的对象反序列化为字段,而没有解释如何反序列化(请参见上面的类)

我试过的是

JavaScriptSerializer jss = new JavaScriptSerializer();
ElementArray elements = jss.Deserialize<ElementArray>(strJson);
JavaScriptSerializer jss=new JavaScriptSerializer();
ElementArray elements=jss.Deserialize(strJson);

但是当我调试代码时,字段
ids
包含
null

我处理json最简单的方法是使用newtonsoft.json库

下面是如何反序列化对象的示例:


阅读并提供一份报告。这段代码不会编译,如果您这样修复它,它将正常运行。当您使用.NET的JavaScriptSerializer时,您还链接到Newtonsoft.Json文档。我使用JavaScriptSerializer是因为在遇到这个问题之前,我一直在使用JavaScriptSerializer。我链接了NewtonSoft.JSON文档,因为我在谷歌上搜索了它,但只找到了我链接的例子,在我看来,这个例子不太合适。对象有一个集合成员没有什么特别的。我复制了这个JSON和代码,它运行得很好。同样,阅读并创建一个。在简化示例的过程中,您遗漏了一些对于再现您遇到的问题至关重要的内容。您确定这正是您要反序列化的json吗?我在LINQPad中尝试了你的代码,并使用了你给出的确切示例,它似乎工作得很好。实际上,在我重写了整个过程之后,它对我起到了作用。。。但是谢谢你的帮助!我想这就是我说的。但是我在使用
JavaScriptSerializer
时也能做到这一点。这个答案是如何获得三张赞成票并被接受的?OP使用JavaScriptSerializer发布了一个不可复制的问题。此答案错误地建议使用Newtonsoft.Json。是的,后者有更好的API和更多的功能,但它不能解决OP的问题,因为没有。“使用库Y”从来不是“如何使用库X使此代码工作?”的答案。