title: Json.net deserializing list gives duplicate items
body: <p>I have just started using Newtonsoft.Json (Json.net). In my first simple test, I ran into a problem when deserializing generic lists. In my code sample below I serialize an object, containing three types of simple integer lists (property, member var and array).</p>
  
  <p>The resulting json looks fine (the lists are converted into json-arrays). However, when I deserialize the json back to a new object of the same type, all list items are duplicated, expect for the array. I've illustrated that by serializing it a second time.</p>
  
  <p>From searching around, I've read that there may be a "private" backing field to the lists that the deserializer also fills.</p>
  
  <p>So my question is: Is there a (preferably simple) way to avoid duplicate items in following case?</p>
  
  <h3>Code</h3>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using Newtonsoft.Json;
  
  namespace JsonSerializeExample
  {
      public class Program
      {
          static void Main()
          {
              var data = new SomeData();
              var json = JsonConvert.SerializeObject(data);
              Console.WriteLine("First : {0}", json);
              var data2 = JsonConvert.DeserializeObject&lt;SomeData&gt;(json);
              var json2 = JsonConvert.SerializeObject(data2);
              Console.WriteLine("Second: {0}", json2);
          }
      }
  
      public class SomeData
      {
          public string SimpleField;
          public int[] IntArray;
          public IList&lt;int&gt; IntListProperty { get; set; }
          public IList&lt;int&gt; IntListMember;
  
          public SomeData()
          {
              SimpleField = "Some data";
              IntArray = new[] { 7, 8, 9 };
              IntListProperty = new List&lt;int&gt; { 1, 2, 3 };
              IntListMember = new List&lt;int&gt; { 4, 5, 6 };
          }
      }
  }
  </code></pre>
  
  <h3>Resulting output</h3>
  
  <pre><code>First : {"SimpleField":"Some data","IntArray":[7,8,9],"IntListMember":[4,5,6],"IntListProperty":[1,2,3]}
  Second: {"SimpleField":"Some data","IntArray":[7,8,9],"IntListMember":[4,5,6,4,5,6],"IntListProperty":[1,2,3,1,2,3]}
  </code></pre>
  
  <p>There may be some overlap here with <a href="https://stackoverflow.com/questions/12615462/json-net-duplicates-private-list-items" title="Json.Net duplicates private list items">Json.Net duplicates private list items</a>. However, I think my problem is even simpler, and I still haven't figured it out.</p>