title: Deserialize/ convert JSON to C# list
body: <p>I have Web API where I am getting JSON object in Dynamic and I need to convert to C# string, array or list so that I can pull data accordingly. I have tried multiple option but not getting any result.</p>
  
  <p>I get exception at var g1 = JsonConvert.DeserializeObject(item), copy of exception pasted below</p>
  
  <p>formStructureJsonBlob first json object is 'hiddenFields', json output pasted below.</p>
  
  <h2>c# class</h2>
  
  <pre><code>public dynamic formStructureJsonBlob { get; set; }
  
  
      public override Guid Execute()
      {
          try
          {
              foreach (var item in formStructureJsonBlob)
              {
                  var g1 = JsonConvert.DeserializeObject(item); // getting error here 
              }
  
              //JObject j = new JObject();
              // JToken jt = j.SelectToken(formStructureJsonBlob.hiddenFields[0].name);
          }
          catch(Exception e)
          {
              Console.WriteLine(e);
          }
  </code></pre>
  
  <h2>output-json of formStructureJsonBlob type</h2>
  
  <pre><code>{
      "hiddenFields": [{
          "order": 0,
          "type": "hidden",
          "name": "formId",
          "value": "v1"
      },
      {
          "order": 0,
          "type": "hidden",
          "name": "consultationId",
          "value": "v2"
      },
      {
          "order": 0,
          "type": "hidden",
          "name": "clientId",
          "value": "v3"
      }
   ]
  }
  </code></pre>
  
  <h2>error</h2>
  
  <pre><code>{Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: The best overloaded 
  method match for 'Newtonsoft.Json.JsonConvert.DeserializeObject(string)' has 
  some invalid arguments
   at CallSite.Target(Closure , CallSite , Type , Object )
   at Ant.Analysis.Infrastructure.Commands.SaveFormQuestionsAnswers.Execute() 
  in C:\Developments\SaveFormQuestionsAnswers.cs:line 34}
  </code></pre>