C# 从在数组项之前有几个字符串项的JSON字符串反序列化数组数据并将其提取到表中

C# 从在数组项之前有几个字符串项的JSON字符串反序列化数组数据并将其提取到表中,c#,arrays,json,linq,list,C#,Arrays,Json,Linq,List,我有一个对应于这个C类的JSON字符串 public class MyClass { public string firstString {get; set;} public string secondString {get; set;} public List<Person> person{get; set;} } public class Person { public string age {get; set;} public stri

我有一个对应于这个C类的JSON字符串

public class MyClass
{
    public string firstString {get; set;}
    public string secondString {get; set;}
    public List<Person> person{get; set;}
}

public class Person
{
    public string age {get; set;}
    public string fullName {get; set;}
}
错误行:

目的:目的是从对应于类MyClass的JSON字符串将人员详细信息获取到数据表中

如果反序列化有效,则计划通过Linq select获取Person,并将该数据放入数据表中

将JSON字符串反序列化到MyClass时,我遇到以下错误:

无法反序列化当前JSON对象,例如{\name\:\value\} 输入类型“System.Collections.Generic.List`1[Project.MyClass]”,因为 该类型需要一个JSON数组,例如[1,2,3]来反序列化 正确。\r\n若要修复此错误,请将JSON更改为JSON数组 e、 g.[1,2,3]或更改反序列化类型,使其成为正常类型 .NET类型,例如不是integer之类的基元类型,也不是集合 类型类似于可以从JSON反序列化的数组或列表 对象还可以将JsonObjectAttribute添加到类型以强制它 从JSON对象反序列化。\r\n路径“firstString”,第1行, 位置16}


异常消息是不言自明的。您正在从客户端传递单个对象,并希望将其解析为一个集合,这是错误的,因此请更改JSON字符串以发送MyClass数组,或者如果您只传递单个对象,则按如下方式解析它:-

MyClass myClassObj = JsonConvert.DeserializeObject<MyClass>(JasonString);
var jsonObj = {
    "firstString" : "foo",
    "secondString" : "bar",
    "person": [ { "age" : 12, "fullName" : "foo1" },
               { "age" : 10, "fullName" : "foo2" } ]
};

感谢@CaesayThanks Raul的编辑。我使用了JsonConvert.DeserializeObjectJasonStringTanks Raul。我使用了JsonConvert.DeserializeObjectJasonString作为adviced,但是myClassObj有空值。有什么问题吗?谢谢@Rahul-它已经起作用了。@EliudKataraihya-Nice:你可以查看文档了解更多信息。谢谢@Rahul会检查它。学习JSON…这是我第一个使用JSON的项目。
var jsonObj = {
    "firstString" : "foo",
    "secondString" : "bar",
    "person": [ { "age" : 12, "fullName" : "foo1" },
               { "age" : 10, "fullName" : "foo2" } ]
};