title: ko.utils.arrayMap with Associative JSON object
body: <p>I am trying to loop over an associative JSON object using ko.utils.arrayMap(), but the function never enters the loop when the it is done in this manner. Can anyone suggest how I can get at these properties. Possible I'm using the wrong utility function for thisstyle of JSON?</p>
  
  <p><a href="http://jsfiddle.net/rVPBz/" rel="nofollow">http://jsfiddle.net/rVPBz/</a></p>
  
  <pre><code>var data = [
     {
        "job_id":"AM28200",
        "inspection":{
           "5":{
              "inspection_type_id":5,
              "inspection_type_name":"hydro",
              "display_name":"Requested",
              "html_name":"Hydro",
              "itp":"Stage H1. H2, H3",
              "1":{
                 "dates":[
                    "2013-10-21"
                 ],
                 "inspectors":[
                    " "
                 ]
              },
              "2":{
                 "dates":[
                    "2013-10-21"
                 ],
                 "inspectors":[
                    " "
                 ]
              },
              "3":{
                 "dates":[
                    "2013-10-21"
                 ],
                 "inspectors":[
                    " "
                 ]
              },
              "4":{
                 "dates":[
                    "2013-10-21"
                 ],
                 "inspectors":[
                    " "
                 ]
              },
              "5":{
                 "dates":[
                    "2013-10-21"
                 ],
                 "inspectors":[
                    " "
                 ]
              }
           }
        }
     },
     {
        "job_id":"AM28212",
        "inspection":{
           "5":{
              "inspection_type_id":5,
              "inspection_type_name":"hydro",
              "display_name":"Waived",
              "html_name":"Hydro",
              "itp":"Stage H1. H2, H3",
              "1":{
                 "dates":[
                    "2013-10-21"
                 ],
                 "inspectors":[
                    " "
                 ]
              }
           }
        }
     }
  ]
  
  var InspectionDiary = function() {
      var self = this;
      self.jobs = ko.observableArray([])
  
      function Job(data){
          var self = this;
          self.job_id = data.job_id;
          self.types = ko.observableArray([])
      }
  
      function Type(data){
          var self = this;
          self.type_id = ko.observable(data.inspection_type_id);
          self.name = ko.observable(data.inspection_type_name);
          self.display_name = ko.observable(data.display_name);
          self.html_name = ko.observable(data.html_name);
          self.itp = ko.observable(data.itp);
          self.inspectors = ko.observableArray([])
          self.dates = ko.observableArray([]);
      }
  
      var jobs = ko.utils.arrayMap(data, function(item) {
          var job = new Job(item);
          var types = ko.utils.arrayMap(item.inspection, function(item) {
              var type = new Type(item)
              type.dates = ko.utils.arrayMap(item.dates(), function(item) {
                  return new Dates(item);
              })
              type.inspectors = ko.utils.arrayMap(type.inspectors(), function(item) {
                  return new Inspector(item);
              })
              return type;
          })
          job.types(types);
          return job;
      });
      self.jobs(jobs);
  }
  
   ko.applyBindings(new InspectionDiary())
  </code></pre>