title: knockoutJS doesn't convert Json to observable
body: <p>I wrote a simple application to get JSON data from the sever
  C# code
          public JsonResult Read()
          {
              var products = db.Products;
              return Json(GetProducts(), JsonRequestBehavior.AllowGet);
          }</p>
  
  <pre><code>    public IEnumerable&lt;Product&gt; GetProducts()
      {
          var data = db.Products.ToList();
          return (data);
      }
  </code></pre>
  
  <p>In the view i wrote the following to bind view model data.</p>
  
  <pre><code>&lt;div&gt;
  &lt;table data-bind="with: products"&gt;
      &lt;thead&gt;&lt;tr&gt;&lt;th&gt;From&lt;/th&gt;&lt;th&gt;To&lt;/th&gt;&lt;th&gt;Subject&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
      &lt;tbody data-bind="foreach: Object"&gt;
          &lt;tr&gt;
              &lt;td data-bind="text: id"&gt;&lt;/td&gt;
              &lt;td data-bind="text: name"&gt;&lt;/td&gt;
              &lt;td data-bind="text: description"&gt;&lt;/td&gt;
          &lt;/tr&gt;    
      &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;/div&gt;
   &lt;script type="text/javascript"&gt;
       function ProductsViewModel() {
           var self = this;
           self.products = ko.observable();
           $.getJSON("http://localhost:50998/Home/Read", function (data) {
               self.products = JSON.parse(data);
           });
  
  }
       ko.applyBindings(new ProductsViewModel());
   &lt;/script&gt;
  </code></pre>
  
  <p>The Json data return from action is as follows</p>
  
  <pre><code>[{"ID":1,"Name":"Roger","Description":"Test1"},{"ID":2,"Name":"Roger2","Description":"Test2"}]
  </code></pre>
  
  <p>After i have parse the JSON, i can't use the parsed object to update the observerable.</p>
  
  <p>Does anyone know why this happens?</p>