如何在Newtonsoft JArray上实现ForEach语句

时间:2016-04-28 14:17:15

标签: c# linq json.net

我需要将从浏览器收到的JArray转换为MyType对象列表。问题是我不想使用.ToObject<>扩展名,因为从浏览器发出的对象可能有丢失或额外的值,我无法更改反序列化器。我编写了自己的解析器来接收来自单个JObject的数据。用法:

foreach (var _object in _jarray)
{
    using (var tp = new TokenParser(_object)) 
    {
        MyType test = new MyType() 
        {
            id = tp.ConvertToInt("token_key")
        };
    }
}

我想做的是这样的事情

_jarray.ForEach(_object => {
    using (var tp = new TokenParser(_object)) 
    {
        MyType test = new MyType() 
        {
            id = tp.ConvertToInt("token_key")
        };
    }
});

我不想像以下那样投射元素:

_jarray.Select(x => 
    (int)["token_key"]
);

我尝试根据LINQ equivalent of foreach for IEnumerable<T>编写此扩展程序,但似乎Action需要T作为参数类型。我不需要这个,因为JArray是一个JObject数组。

这可能实现吗?

0 个答案:

没有答案