c# - 查询Json如何获取must数组内的元素

标签 c# json elasticsearch json.net json-query

我想获取必须数组上的元素。我有这样的查询

{
  "from": 0,
  "query": {
    "bool": {
      "must": [
        {
          "query_string": {
            "analyze_wildcard": true,
            "default_operator": "and",
            "fields": [
              "entityStatusDesc"
            ],
            "query": "$entityStatusDesc"
          }
        },
        {
          "query_string": {
            "analyze_wildcard": true,
            "default_operator": "and",
            "fields": [
              "instanceStartTime"
            ],
            "query": "$instanceStartTime"
          }
        },
        {
          "match": {
            "model": {
              "query": "instance"
            }
          }
        }
      ]
    }
  },
  "size": 10,
}

我试过了;

JObject o = JObject.Parse(json);

        var acme = o.SelectToken("$.must[0]");

但是没用。我想通过 Must[0] 调用获取 json 的这一部分;

{
          "query_string": {
            "analyze_wildcard": true,
            "default_operator": "and",
            "fields": [
              "entityStatusDesc"
            ],
            "query": "$entityStatusDesc"
          }
        },

是否有任何不同的方式来获取必须区域?如果有人可以帮助我,我将不胜感激。谢谢。

最佳答案

选项之一是提供完整路径:

var acme = o.SelectToken("$.query.bool.must[0]");

或者只使用索引器:

var acme = o["query"]["bool"]["must"][0];

关于c# - 查询Json如何获取must数组内的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64714635/

相关文章:

c# - 将值传递给 ASP.NET 中的 javascript

c# - WCF ChannelFactory 转换接口(interface)到 IClientChannel 可疑转换

javascript - 使用 jQuery 将雅虎财经观察列表从 CSV 解析为 JSON

elasticsearch - Ngram的 Elasticsearch 索引?

c# - 从 Validator.TryValidateObject 获取所有 ValidationResults

c# - GC 没有完成 UserControl?

javascript - 在 ExpressJS 中将对象传递给 javascript

javascript - 使用 JSON.stringify() 时如何忽略 .toJSON 函数?

elasticsearch - Elasticsearch关于多值字段的完成建议

elasticsearch - elasticsearch.log查询在kibana配置中无效