title: I want to query a json file to find users with two or more tags in common
body: <p>I have the following json file:</p>
  
  <pre class="lang-none prettyprint-override"><code>{
    "users": [
      {
        "tags": [
          "c++",
          "jquery",
          "css",
          "html"
        ],
        "name": "John Doe",
        "id": 0
      },
      {
        "tags": [
          "vb",
          "css"
        ],
        "name": "Bill Gates",
        "id": 1
      },
      {
        "tags": [
          "c++",
          "css",
          "html"
        ],
        "name": "Steve Jobs",
        "id": 3
      }
    ]
  }
  </code></pre>
  
  <p>I'm trying to return only users who match Tags twice or more, for instance:</p>
  
  <p>John Doe and Steve Jobs have c++ and css in common. </p>
  
  <p>I was trying to achieve this by performing tons of for statements but I don't think this is the best solution.</p>
  
  <p>That's what I have so far:</p>
  
  <pre class="lang-c# prettyprint-override"><code>JObject res = JObject.Parse(File.ReadAllText(@"C:/json/data.json"));
  int jsonLength = res["users"].Count();
  for (int i = 0; i &lt; jsonLength; i++)
  {
      string name = res["users"][i]["name"].ToString();
      int id = Convert.ToInt32(res["users"][i]["id"]);
      string tags = res["users"][i]["tags"].ToString();
  
      Console.WriteLine("ID: " + id);
      Console.WriteLine("Name: " + name);
      Console.WriteLine("Tags: " + tags);
  }
  </code></pre>
  
  <p>I saw some people querying a json file like they do in SQL but I've never used LINQ before so I have no idea on how it works also I'm not sure what's the best way to approach this. </p>