title: What's best SQL datatype for storing JSON string?
body: <p>What's the best SQL datatype for storing JSON string?</p>
  
  <pre><code>static List&lt;ProductModel&gt; CreateProductList()
  {
      string json = @"[
          {
              ProductId: 1, 
              ProductCode: 'A', 
              Product: 'A'
          },
          {
              ProductId: 2, 
              ProductCode: 'B', 
              Product: 'B'
          }
      ]";
  
      IList&lt;JToken&gt; tokenList = JToken.Parse(json).ToList();
      List&lt;ProductModel&gt; productList = new List&lt;ProductModel&gt;();
  
      foreach (JToken token in tokenList)
      {
          productList.Add(JsonConvert.DeserializeObject&lt;ProductModel&gt;(token.ToString()));
      }
  
      return productList;
  }
  </code></pre>
  
  <p>Which SQL datatype should we use for storing such a string containing JSON?</p>
  
  <ul>
  <li><code>NVARCHAR(255)</code>?</li>
  <li><code>TEXT</code>?</li>
  <li><code>VARBINARY(MAX)</code>?</li>
  </ul>