如何根据条件分配json.net linq方法

时间:2014-02-14 16:12:59

标签: c# json.net

当我尝试使用如下代码时,我收到错误

  

由于存在,因此无法确定条件表达式的类型   'Newtonsoft.Json.Linq.JArray'和。之间没有隐式转换   'Newtonsoft.Json.Linq.JObject'

    string J = "a";

    JArray _JArray = JArray.Parse(_JsonString);
    JObject _JObject = JObject.Parse(_JsonString);

    var _JlinQ = J == "a" ? _JArray : _JObject;

          var _JItems = _JlinQ .SelectToken(".")
                                 .Select(s => new
                                 {
                                     _Id = (string)s.SelectToken("id"),                           
                                     _WhereClause = (string)s.SelectToken("status")
                                 })
                                 .Where(w => w._WhereClause == "1");

                    foreach (var _JItem in _JItems)
                    {
                        MessageBox.Show(_JItem._Id.ToString());
                    }

有没有办法使用这些代码?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

试试:

var _JlinQ = J == "a" ? (JContainer)_JArray : (JContainer)_JObject;