Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从JSON字符串中获取C#-对象数组_C#_Arrays_Json_Object - Fatal编程技术网

从JSON字符串中获取C#-对象数组

从JSON字符串中获取C#-对象数组,c#,arrays,json,object,C#,Arrays,Json,Object,这是我的课: public class User { public User() { } public string Username { get; set; } public string Password { get; set; } public string FirstName { get; set; } public string LastName { get; set; } } 这就是我的JSON字符串的样子: {"results":[{"

这是我的课:

public class User
{
    public User() { }

    public string Username { get; set; }
    public string Password { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }

}
这就是我的JSON字符串的样子:

{"results":[{"FirstName":"firstname1","LastName":"lastname1","Password":"TestPassword","Username":"TestUser","createdAt":"2015-03-02T17:36:25.232Z","objectId":"a8bKXDg2Y2","updatedAt":"2015-03-02T20:35:48.755Z"},{"FirstName":"firstname2","LastName":"lastname2","Password":"TestPw","Username":"TestUser2","createdAt":"2015-03-02T20:35:26.604Z","objectId":"2XPIklE3uW","updatedAt":"2015-03-02T20:35:53.712Z"}]}
我想从中获取一个用户[]个用户。 我的问题是{“结果::[…]}-部分

我试过这样做:

JavaScriptSerializer js = new JavaScriptSerializer();
User[] user = js.Deserialize<User[]>(jsonString);
JavaScriptSerializer js=新的JavaScriptSerializer();
User[]User=js.Deserialize(jsonString);
但我认为结果部分不知怎么搞砸了一切。
解决此问题的最佳方法是什么?

尝试定义一个反映JSON结构的包装模型:

public class MyModel
{
    public User[] Results { get; set; }
}
现在,您可以继续将JSON字符串反序列化回此包装模型:

JavaScriptSerializer js = new JavaScriptSerializer();
MyModel model = js.Deserialize<MyModel>(jsonString);

您需要在模型上添加另一层

public class Data
{
   public User[] results { get; set; }
}

然后反序列化
数据

谢谢,这可能会奏效-但这是为每个类创建包装的好方法吗?当然,这是一个好方法。您必须完全匹配正在反序列化的JSON结构。否则,您如何期望JSON序列化程序自动知道您要实现的目标?它通过类型内省和属性匹配工作。因此,请确保在序列化/反序列化时具有正确的结构。非常感谢!帮了我很多忙。(我需要等待大约7分钟来接受这个答案,我会稍后再做)每当你有JSON时,我总是建议你去。它将生成需要反序列化到的类。
public class Data
{
   public User[] results { get; set; }
}