下面是我尝试反序列化的示例,当我尝试提取数据时遇到了一堆不同的错误。我只想提取 id 值,但我似乎无法弄清楚。
{"object":"payments","entry":[{"id":"546787862118679","time":1417135022,"changed_fields":["actions"]}]}
public class Entry
{
public string id { get; set; }
public int time { get; set; }
public List<string> changed_fields { get; set; }
}
public class RootObject
{
public string @object { get; set; }
public List<Entry> entry { get; set; }
}
dynamic result = new StreamReader(request.InputStream).ReadToEnd();
var items = JsonConvert.DeserializeObject<RootObject>(result);
string paymentID = items.entry.FirstorDefault().id;
返回此错误:
'System.Collections.Generic.List' does not contain a definition for 'FirstOrDefault()'
最佳答案
我觉得如果您的代码可以工作:
string paymentID = items.entry.FirstorDefault().id;
是
string paymentID = items.entry.FirstOrDefault().id;
而你的错误实际上是
'System.Collections.Generic.List' does not contain a definition for 'FirstorDefault'
因为 Collections.Generic.List 确实包含FirstOrDefault
(System.Linq
) 的定义
关于c# - 将 json 反序列化为 C# 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27181380/