使用LINQ的多个JSON过滤器

时间:2019-04-07 17:57:11

标签: json linq jsonpath

我有一个json格式的字符串,我只是从网站上抓取到的。我已经使用Newtonsoft.Json解析了字符串,现在我试图提取一个数字列表,但是仅提取那些应用了过滤器的数字。我要应用的过滤器是: -“ order_type”必须为“ sell” -“用户”状态必须为“输入”或“在线” -“用户”区域必须为“ en” -“用户”平台必须为“个人电脑”

json看起来像这样(仍在字符串中):

      "payload": {
    "orders": [
      {
        "user": {
          "region": "en",
          "status": "ingame",
        },
        "number": 5,
        "order_type": "buy",
        "region": "en",
        "platform": "pc",
      }
    }

为进一步阐明我的问题,在这里,我将展示一些我已经尝试过的片段,但由于我是LinQ的新手而失败了

    var items = JObject.Parse(json)["object"]["payload"]["orders"]
                   .Children<JProperty>()
                   .Where(jp => jp.Name == "order_type" && jp.Value == "sell")
                   .Where(user => user.Name == "region" && user.Value == "en")
                   .Select(jp => (JObject)jp.Value)
                   .ToList();

等...

0 个答案:

没有答案