title: "Unexpected character encountered while parsing value: [." exception when deserializing into a List<string> field
body: <p>I have an object:</p>
  <pre class="lang-cs prettyprint-override"><code>class Node
  {
    public Node(string text)
    {
      Text = new List&lt;string&gt; { text };
    }
  
    public List&lt;string&gt; Text { get; set; }
  }
  </code></pre>
  <p>When I attempt to round-trip an instance of this object to JSON using Json.NET like so:</p>
  <pre><code>var root = new Node(&quot;&quot;);
  
  var json = JsonConvert.SerializeObject(root);
  root = JsonConvert.DeserializeObject&lt;Node&gt;(json);
  </code></pre>
  <p>I get the following error:</p>
  <pre class="lang-none prettyprint-override"><code>Unhandled Exception: Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: [. Path 'Text', line 2, position 11.
     at Newtonsoft.Json.JsonTextReader.ReadStringValue(ReadType readType)
     at Newtonsoft.Json.JsonTextReader.ReadAsString()
     at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)
  </code></pre>
  <p>For some reason it just can't handle that <code>List&lt;string&gt; Text</code> field and I can't for the life of me figure it out.</p>
  <p>I'm literally trying to deserialise the string it JUST serialised. I could try write a custom converter but it doesn't seem like it should be necessary here.</p>
  <p>Is there perhaps an attribute I can use to help it along?</p>
  <p>Edit:</p>
  <p>Created a new (.NET Framework Console App) project with just one <code>Program.cs</code> file with the following code in it:</p>
  <pre class="lang-cs prettyprint-override"><code>using Newtonsoft.Json; // Version: 12.0.3
  using System.Collections.Generic;
  
  namespace ConsoleApp1
  {
    class Node
    {
      public Node(string text)
      {
        Text = new List&lt;string&gt; { text };
      }
  
      public List&lt;string&gt; Text { get; set; }
    }
  
    class Program
    {
      static void Main()
      {
        var root = new Node(&quot;&quot;);
  
        var json = JsonConvert.SerializeObject(root);
        root = JsonConvert.DeserializeObject&lt;Node&gt;(json);
      }
    }
  }
  </code></pre>
  <p>Am still getting the same error.</p>