title: asp.net parse the array json using json.net
body: <p>I write this code:</p>
  
  <pre><code>public void ProcessRequest(HttpContext context)
  {
      string m_order;
  
      try
      {
          var jsonSerilizer = new JavaScriptSerializer();
          var jsonString = String.Empty;
          context.Request.InputStream.Position = 0;
          using (var inputStream = new StreamReader(context.Request.InputStream))
          {
              jsonString = inputStream.ReadToEnd();
          }
  
          List&lt;myClass&gt; tmp = JsonConvert.DeserializeObject&lt;List&lt;myClass&gt;&gt;(jsonString);
  
          for (int i = 0; i &lt; tmp.Count(); i++)
          {
              File.AppendAllText(@"d:\status\LOL.txt", "tmp["+(i+1)+"].rid=" +tmp[i].r_id  + "\r\n", Encoding.UTF8);
  
          }
  </code></pre>
  
  <p><code>myClass</code> is defined as:</p>
  
  <pre><code>public class myClass
  {
      public int f_id{get; set; }
      public int r_id { get; set; }
      public int count { get; set; }
      public int c_id { get; set; }
  }
  </code></pre>
  
  <p>When I send the JSON string from the client to my server, my server goes to the HTTP Handler and returns the following JSON string, all as expected.</p>
  
  <pre><code>[
      {
          f_id:100,
          r_id:200,
          count:2,
          c_id=111
      },
      {
          f_id:120,
          r_id:200,
          count:1,
          c_id=111
      }
  ]
  </code></pre>
  
  <p>But when program hits this line:</p>
  
  <pre><code>List&lt;myClass&gt; tmp = JsonConvert.DeserializeObject&lt;List&lt;myClass&gt;&gt;(jsonString);
  </code></pre>
  
  <p>my server crashes with the following exception.</p>
  
  <pre><code>Newtonsoft.Json.JsonReaderException: Invalid JavaScript property identifier character: =. Path '[0].count', line 2, position 32.
     at Newtonsoft.Json.JsonTextReader.ParseUnquotedProperty()
     at Newtonsoft.Json.JsonTextReader.ParseProperty()
     at Newtonsoft.Json.JsonTextReader.ParseObject()
     at Newtonsoft.Json.JsonTextReader.ReadInternal()
     at Newtonsoft.Json.JsonTextReader.Read()
     at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
     at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
     at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
     at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id)
     at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
     at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
     at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
     at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
     at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
     at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
     at Portal.Get_O.ProcessRequest(HttpContext context)
  </code></pre>