title: JSON data error Unity3d
body: <p>I'm currently busy with a project in Unity. For this project, I need to use and work with json data.</p>
  
  <p>This is the json file: </p>
  
  <pre class="lang-json prettyprint-override"><code>{
      "exerciseFrame": {
          "currentFrameRate": 115.003,
          "gestures": [],
          "hands": [
              {
                  "direction": [
                      -0.21788,
                      0.396045,
                      -0.892007
                  ],
                  "id": 67,
                  "palmNormal": [
                      -0.207517,
                      -0.911865,
                      -0.354174
                  ],
                  "palmPosition": [
                      76.5549,
                      114.137,
                      5.89759
                  ],
                  "palmVelocity": [
                      11.5489,
                      -12.4382,
                      30.413
                  ],
                  "r": [
                      [
                          0.985174,
                          0.0992006,
                          -0.139971
                      ],
                      [
                          -0.110688,
                          0.990883,
                          -0.0768105
                      ],
                      [
                          0.131075,
                          0.0911648,
                          0.987172
                      ]
                  ],
                  "s": 0.877737,
                  "sphereCenter": [
                      53.6198,
                      53.1508,
                      -39.351
                  ],
                  "sphereRadius": 91.0197,
                  "stabilizedPalmPosition": [
                      74.1678,
                      112.23,
                      3.77527
                  ],
                  "t": [
                      -20.2956,
                      10.8737,
                      19.0197
                  ],
                  "timeVisible": 3.23297
              }
          ],
          "id": 470433,
          "interactionBox": {
              "center": [
                  0,
                  189,
                  0
              ],
              "size": [
                  209.24,
                  209.24,
                  146.232
              ]
          },
          "pointables": [
              {
                  "direction": [
                      -0.204191,
                      -0.171441,
                      -0.963802
                  ],
                  "handId": 67,
                  "id": 83,
                  "length": 79.2433,
                  "stabilizedTipPosition": [
                      54.4213,
                      125.134,
                      -95.3633
                  ],
                  "timeVisible": 1.79999,
                  "tipPosition": [
                      58.1631,
                      128.283,
                      -96.3226
                  ],
                  "tipVelocity": [
                      11.7388,
                      -0.426162,
                      2.39705
                  ],
                  "tool": false,
                  "touchDistance": 0.16562,
                  "touchZone": "hovering"
              },
              {
                  "direction": [
                      -0.128641,
                      0.0244301,
                      -0.99139
                  ],
                  "handId": 67,
                  "id": 25,
                  "length": 73.593,
                  "stabilizedTipPosition": [
                      84.4969,
                      125.889,
                      -91.8182
                  ],
                  "timeVisible": 1.40869,
                  "tipPosition": [
                      88.0132,
                      128.67,
                      -92.9798
                  ],
                  "tipVelocity": [
                      9.78409,
                      -4.46077,
                      -10.2516
                  ],
                  "tool": false,
                  "touchDistance": 0.0726596,
                  "touchZone": "hovering"
              },
              {
                  "direction": [
                      -0.231257,
                      -0.0952694,
                      -0.968217
                  ],
                  "handId": 67,
                  "id": 62,
                  "length": 65.8749,
                  "stabilizedTipPosition": [
                      27.6915,
                      127.768,
                      -78.6761
                  ],
                  "timeVisible": 0.913038,
                  "tipPosition": [
                      30.0744,
                      130.094,
                      -78.9935
                  ],
                  "tipVelocity": [
                      11.5967,
                      -2.61466,
                      -3.92538
                  ],
                  "tool": false,
                  "touchDistance": 0.123818,
                  "touchZone": "hovering"
              },
              {
                  "direction": [
                      -0.0484869,
                      0.109018,
                      -0.992857
                  ],
                  "handId": 67,
                  "id": 73,
                  "length": 46.8336,
                  "stabilizedTipPosition": [
                      115.627,
                      114.182,
                      -61.4815
                  ],
                  "timeVisible": 0.739126,
                  "tipPosition": [
                      118.889,
                      116.921,
                      -62.7602
                  ],
                  "tipVelocity": [
                      2.0058,
                      -14.1922,
                      26.0571
                  ],
                  "tool": false,
                  "touchDistance": 0.308196,
                  "touchZone": "hovering"
              },
              {
                  "direction": [
                      -0.757118,
                      0.0997547,
                      -0.645617
                  ],
                  "handId": 67,
                  "id": 37,
                  "length": 47.2933,
                  "stabilizedTipPosition": [
                      -13.0828,
                      113.28,
                      3.91602
                  ],
                  "timeVisible": 0.913038,
                  "tipPosition": [
                      -10.3237,
                      117.652,
                      2.30821
                  ],
                  "tipVelocity": [
                      9.14501,
                      5.11948,
                      -3.45668
                  ],
                  "tool": false,
                  "touchDistance": 0.0164196,
                  "touchZone": "hovering"
              }
          ],
          "r": [
              [
                  0.564536,
                  0.157925,
                  -0.81016
              ],
              [
                  0.200296,
                  -0.978399,
                  -0.0511501
              ],
              [
                  -0.800738,
                  -0.133395,
                  -0.583973
              ]
          ],
          "s": -443.531,
          "t": [
              22821.5,
              -11650.1,
              -3347.64
          ],
          "timestamp": 5463086706
      }
  }
  </code></pre>
  
  <p>I have loaded it into unity with the following script (according this tutorial <a href="http://www.paultondeur.com/2010/03/23/tutorial-loading-and-parsing-external-xml-and-json-files-with-unity-part-2-json/" rel="nofollow">http://www.paultondeur.com/2010/03/23/tutorial-loading-and-parsing-external-xml-and-json-files-with-unity-part-2-json/</a>)</p>
  
  <pre><code>using UnityEngine;
  using LitJson;
  using System;
  using System.Collections;
  
  public class LoadJSON : MonoBehaviour
  {   
      IEnumerator Start()
      {
  
          //Load JSON data from a URL
          string url = "http://localhost/project/application/exercise.json";
          WWW www = new WWW(url);
  
         //Load the data and yield (wait) till it's ready before we continue executing the rest of this method.
          yield return www;
          if (www.error == null)
          {     
              //Process exercises found in JSON file       
           ProcessExercises(www.data);
          }
          else
          {
              Debug.Log("ERROR: " + www.error);
          }
  
      }
  
      private void ProcessExercises(string jsonString)
      {
         Debug.Log (jsonString);
         JsonData jsonExercise = JsonMapper.ToObject(jsonString); // convert json data to object. 
         Exercise exercise;
  
          for(int i = 0; i&lt;jsonExercise["exerciseFrame"].Count; i++) // for each exerciseFrame data in the .json file 
         { 
           Debug.Log(jsonExercise["exerciseFrame"].Count); 
         }
      }
      private void loadExercise(){
      }
  
  
  }`
  </code></pre>
  
  <p>It goes according to plan up until the line that is supposed to convert the json data to an object:</p>
  
  <pre><code>JsonData jsonExercise = JsonMapper.ToObject(jsonString); // convert json data to object. 
  </code></pre>
  
  <p>I get the following error and I have no idea what is going wrong. Because jsonString is a string with data.</p>
  
  <pre><code>`ArgumentNullException: Argument cannot be null.
  Parameter name: key
  System.Collections.Generic.Dictionary`2[System.String,LitJson.PropertyMetadata].ContainsKey (System.String key) (at /Applications/buildAgent/work/c514da0c8183631c/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:458)
  LitJson.JsonMapper.ReadValue (System.Type inst_type, LitJson.JsonReader reader)
  LitJson.JsonMapper.ReadValue (System.Type inst_type, LitJson.JsonReader reader)
  LitJson.JsonMapper.ReadValue (System.Type inst_type, LitJson.JsonReader reader)
  LitJson.JsonMapper.ReadValue (System.Type inst_type, LitJson.JsonReader reader)
  LitJson.JsonMapper.ToObject[JsonData] (System.String json)
  LoadJSON.ProcessExercises (System.String jsonString) (at Assets/Scripts/JSON/LoadJSON.cs:32)
  LoadJSON+&lt;Start&gt;c__Iterator1.MoveNext () (at Assets/Scripts/JSON/LoadJSON.cs:20)`
  </code></pre>
  
  <p>I really hope someone here can help me out. Thanks a lot for your time!</p>