title: How do I bind this JSON data to a Kendo UI Chart?
body: <p>I'm having an extremely difficult time binding JSON data to Kendo UI charts in ASP.Net MVC. I've been going over documentation, taking apart demos, searching through everything I can find here on SO (and elsewhere) to try and find a clue to what I'm doing wrong that can put me back on track, but I keep hitting a brick wall. I'm starting to worry that I'm just dense, haha.</p>
  
  <p>Here is what I'm working with so far:</p>
  
  <p>The JSON data:</p>
  
  <pre><code>{  
     "responseHeader":{  
        "status":0,
        "QTime":6,
        "params":{  
           "indent":"true",
           "q":"*:*",
           "wt":"json"
        }
     },
     "response":{  
        "numFound":5,
        "start":0,
        "docs":[  
           {  
              "monthAndYear":"Apr 2015",
              "region":"Central Region",
              "projects_finalized":3,
              "_version_":1497873686497067008
           },
           {  
              "monthAndYear":"Apr 2015",
              "region":"Northern Region",
              "projects_finalized"1,
              "_version_":1497873686498115584
           },
           {  
              "monthAndYear":"Apr 2015",
              "region":"Eastern Region",
              "projects_finalized":1,
              "_version_":1497873686498115585
           },
           {  
              "monthAndYear":"Apr 2015",
              "region":"Southern Region",
              "projects_finalized":6,
              "_version_":1497873686498115586
           },
           {  
              "monthAndYear":"Apr 2015",
              "region":"Western Region",
              "projects_finalized":2,
              "_version_":1497873686498115588
           }
        ]
     }
  }
  </code></pre>
  
  <p>Here's my Model:</p>
  
  <pre><code>public class Rootobject
  {
      public Responseheader responseHeader { get; set; }
      public Response response { get; set; }
  }
  
  public class Responseheader
  {
      public int status { get; set; }
      public int QTime { get; set; }
      public Params _params { get; set; }
  }
  
  public class Params
  {
      public string indent { get; set; }
      public string q { get; set; }
      public string wt { get; set; }
  }
  
  public class Response
  {
      public int numFound { get; set; }
      public int start { get; set; }
      public Doc[] docs { get; set; }
  }
  
  public class Doc
  {
      public string monthAndYear { get; set; }
      public string region { get; set; }
      public int projects_finalized { get; set; }
      public long _version_ { get; set; }
  }
  </code></pre>
  
  <p>Here's my View:</p>
  
  <pre><code>@{
      ViewBag.Title = "Project Chart";
  }
  
  &lt;div style="position: relative; left: 0px; top: 2em; width: 1000px; height: 100%; overflow: hidden; display: inline-block;"&gt;
  @(Html.Kendo().Chart&lt;ProjectChart.Models.ProjectClass&gt;()
      .Name("barProjectsThisMonth")
      .Title("Project Results")
      .Legend(legend =&gt; legend
          .Visible(false)
      )
      .ChartArea(chartArea =&gt; chartArea
          .Background("transparent")
      )
      .DataSource(ds =&gt; ds.Read(read =&gt; read.Action("ProjectClass", "HomeController")))
      .Series(series =&gt;
      {
          series.Bar(model =&gt; model.response.docs.projects_finalized).Name("Total Projects Completed")
                .Labels(labels =&gt; labels.Background("transparent").Visible(true));
      })
      .CategoryAxis(axis =&gt; axis
                  .Categories(model =&gt; model.response.docs.region)
          .MajorGridLines(lines =&gt; lines.Visible(false))
      )
      .ValueAxis(axis =&gt; axis
          .Numeric()
          .MajorUnit(2)
          .Line(line =&gt; line.Visible(false))
          .MajorGridLines(lines =&gt; lines.Visible(true))
      )
      .Tooltip(tooltip =&gt; tooltip
          .Visible(true)
          .Template("#= series.name #: #= value #")
      )
      .Theme("MaterialBlack")
  )
  &lt;/div&gt;
  </code></pre>
  
  <p>Here's my Controller:</p>
  
  <pre><code>public class HomeController : Controller
  {
      public ActionResult Index()
      {
          ViewBag.Message = "Welcome to ASP.NET MVC!";
  
          return View();
      }
  
      [HttpPost]
      public ActionResult DataBinding()
      {
          string url = "https://solr.fakeURL.com/json";
          WebClient c = new WebClient();
          var json = c.DownloadString(url);
  
          return Json(json);
      }
  }
  </code></pre>
  
  <p>For clarity, I can't make any changes to the output of the JSON. I have to work with what's given. </p>