title: Repeated serialization and deserialization creates duplicate items
body: <p>Hi everyone i have a problem with my json serealization. I'm using the Json.NET package under Unity: I'm searching to make a Database, editable on my application and stored on my server through wwwForm and a php file. I have no problem to create it and to push it on the net. The problem is, when i load it, the database has a new entry at the end. The Database Class is this:</p>
  
  <pre><code>public class Database   {
      public List&lt;Army&gt; armies { get; set;}
  
      public Database() {
          armies = new List&lt;Army&gt;();
          armies.Add (new Army());
      }
  }
  
  public class Army
  {
      public string faction { get; set;}
      public List&lt;Unit&gt; army { get; set;}
  
      public Army()
      {
          faction = "RED";
          army = new List&lt;Unit&gt;();
          army.Add (new Unit());
      }
  }
  
  public class Unit
  {
      public string name { get; set;}
      public float fissionTimer { get; set;}
      public float HP { get; set;}
      public int shield { get; set;}
      public float strenght { get; set;}
      public float movSpeed { get; set;}
      public float attackSpeed { get; set;}
      public float farmAggro { get; set;}
      public int criticPossibility { get; set;}
      public int armorPenetration { get; set;}
      public bool isContagious { get; set;}
      public int contagePossibility { get; set;}
      public string imgName {get;set;}
  
      public Unit()
      {
          name = "standard";
          fissionTimer = 8;
          HP = 100;
          shield = 0;
          strenght = 10;
          movSpeed = 5;
          attackSpeed = 0.1f;
          farmAggro = 0.1f;
          criticPossibility = 0;
          armorPenetration = 0;
          isContagious = false;
          contagePossibility = 0;
          imgName = "Red";
      } 
  
      public Unit(string _name, float _fissionTimer, float _HP, int _shield, float _strenght, float _movSpeed, float _attackSpeed, 
                  float _farmAggro, int _criticPossibility, int _armorPen, bool _iscontagious, int _contagePos, string _imgName)
      {
          name = _name;
          fissionTimer = _fissionTimer;
          HP = _HP;
          shield = _shield;
          strenght = _strenght;
          movSpeed = _movSpeed;
          attackSpeed = _attackSpeed;
          farmAggro = _farmAggro;
          criticPossibility = _criticPossibility;
          armorPenetration = _armorPen;
          isContagious = _iscontagious;
          contagePossibility = _contagePos;
          imgName = _imgName;
      }
  }
  </code></pre>
  
  <p>to serialize and deserialize i use those 2 methods:</p>
  
  <pre><code>IEnumerator LoadFile()
  {
      WWW www = new WWW(dbPath);
  
      yield return www;
  
      var _database = JsonConvert.DeserializeObject&lt;Database&gt; (www.text);
  
      db = _database;
      SendMessage ("loaded", SendMessageOptions.DontRequireReceiver);
  }
  
  IEnumerator SaveFile(Database db)
  {
      WWWForm form = new WWWForm();
      string serialized = JsonConvert.SerializeObject (db);
      form.AddField("theDatabase", serialized);
  
      WWW www = new WWW(phpPath, form);
  
      yield return www;
  
      if (www.error == null)
          Debug.Log ("saved" + serialized);
      else
          Debug.LogError ("error saving database");
  }
  </code></pre>
  
  <p>The result of using the default constructor, serialized and deserialized is this:</p>
  
  <pre><code>{
      "armies": [
          {
              "faction": "RED",
              "army": [
                  {
                      "name": "standard",
                      "fissionTimer": 8,
                      "HP": 100,
                      "shield": 0,
                      "strenght": 10,
                      "movSpeed": 5,
                      "attackSpeed": 0.1,
                      "farmAggro": 0.1,
                      "criticPossibility": 0,
                      "armorPenetration": 0,
                      "isContagious": false,
                      "contagePossibility": 0,
                      "imgName": "Red"
                  }
              ]
          },
          {
              "faction": "RED",
              "army": [
                  {
                      "name": "standard",
                      "fissionTimer": 8,
                      "HP": 100,
                      "shield": 0,
                      "strenght": 10,
                      "movSpeed": 5,
                      "attackSpeed": 0.1,
                      "farmAggro": 0.1,
                      "criticPossibility": 0,
                      "armorPenetration": 0,
                      "isContagious": false,
                      "contagePossibility": 0,
                      "imgName": "Red"
                  }
              ]
          }
      ]
  }
  </code></pre>
  
  <p>There are 2 armies and 2 units. Where i am doing wrong? Thanks in advance </p>