lambda表达式能否用于动态列表以获取结果
本文关键字:列表 获取 结果 动态 用于 表达式 lambda | 更新日期: 2023-09-27 17:57:41
我有以下代码:
dynamic jsonData = JObject.Parse(data);
var names= new List<dynamic>();
names= jsonData.Properties().Select(p => p.first_name).ToList();
我无法完成这项工作,因为持续获取错误无法使用lambda。有办法得到这个结果吗?或者我不应该在这里使用动态?
Json字符串:
{"items":[{"id":404,"name":"Ken":{"id":215,"neighbourhood":"Mississauga"}]
,{"id":407,"name":"John":{"id":215,"neighbourhood":"Toronto"}]
,...
您不需要dynamic
,我建议您不要使用它,这没有意义。
看起来您有一个具有items
属性的对象,它是一个对象数组,并且您正试图获取这些对象的name
。只需这样做:
var obj = JObject.Parse(data);
var names = obj["items"]
.Select(item => (string)item["name"])
.ToList();
这样试试
... ((IEnumerable<dynamic>)jsonData.Properties()).Select( ...