【发布时间】:2017-06-26 04:55:58
【问题描述】:
json:
[{
"PersonsTable":[
{"id":293,"firstname":"jos","lastname":"don"},
{"id":1861,"firstname":"jef","lastname":"dan"},
{"id":1896,"firstname":"janine","lastname":"din"}]
}]
代码:
List<Person> persons = new List<Person>();
dynamic dynObj = JsonConvert.DeserializeObject(response);
foreach (var data in dynObj.PersonsTable)
{
Person p = new Person(data.id, data.firstname, data.lastname);
persons.Add(p);
}
对象:
public class Person
{
public Person ()
{
}
public Person (string id, string firstname, string lastname)
{
this.id= id;
this.firstname = firstname;
this.lastname = lastname;
}
public string id{ get; set; }
public string firstname{ get; set; }
public string lastname{ get; set; }
}
我想将“PersonsTable”下的数据放入人员列表中。 我试图通过序列化和动态变量来实现这一点,但我总是得到一个奇怪的错误“缺少编译器所需的成员,'microsoft.CSharp.RUNtimeBinder.CSharpArgumentINfo.Create'”..
我无法安装 NuGet 包本身,因为我的项目在 .Net 3.5 中运行(出于某种原因)。
有人可以帮我解决我的问题吗?还有其他方法可以获取结果中的人员列表吗?
【问题讨论】:
-
可能是因为在 json 中没有
PK_R_PERSON, FIRSTNAME, LASTNAME,但只有id, firstname, lastname -
完全是我的错,我改了名字,所以人们在这里看会更好,在代码中都是一样的(大写)
-
@dbc 只是我不擅长复制粘贴