{"response":[{"state":"FL","city":"ABCDEF","zip":"12345","csnumber":"ABCDEF","phone1":"
5617191807","siteAddr1":"100 Test ROAD","siteAddr2":"","customerNumber":12345,"systemNumber":24562296,"customerName":"PULSE DEMO","siteNumber":21356462}],"status":0,"msg":"OK"}
The response is an array. I am directly mapping it to an observable and in html looping through it using ko:for each.
.......
ko.mapping.fromJS(data['response'], self.allSearchResults); // Response got from the server
<!-- ko foreach: allSearchResults -->
<a class="result" data-bind="click: VM.DeviceDetails">
<dl class="clearfix">
<!-- ko if: csnumber -->
<dt><span >CS #</span></dt>
<dd><b><span data-bind="text: csnumber"></span></b><br /><br /></dd>
<!-- /ko -->
<!-- ko if: customerName -->
<dt><span class="label">Name</span></dt>
<dd><b data-bind="text: customerName().toLowerCase()"></b></dd>
<!-- /ko -->
<!-- ko if: siteAddr1() -->
<dt><span class="label">Addr1</span></dt>
<dd><span data-bind="text: siteAddr1().toLowerCase()"></span></dd>
<!-- /ko -->
<!-- ko if: siteAddr2() -->
<dt><span class="label">Addr2</span></dt>
<dd><span data-bind="text: siteAddr2().toLowerCase()"></span></dd>
<!-- /ko -->
<!-- ko if: city() -->
<dt><span class="label"> </span></dt>
<dd>
<span data-bind="text: city().toLowerCase()"></span>
<span>,</span>
<span data-bind="text: state().toUpperCase()"></span>
<span>,</span>
<span data-bind="text: zip().toLowerCase()"> </span>
</dd>
<!-- /ko -->
<!-- ko if: phone1() -->
<dt><span class="label">Phone</span></dt>
<dd><span data-bind="text: phone1"></span></dd>
<!-- /ko -->
<!-- ko if: systemNumber() -->
<dt><span class="label">System</span></dt>
<dd><span data-bind="text: systemNumber()"></span></dd>
<!-- /ko -->
<!-- ko if: siteNumber() -->
<dt><span class="label">Site</span></dt>
<dd><span data-bind="text: siteNumber()"></span></dd>
<!-- /ko -->
</dl>
</a>
<!-- /ko -->
Any suggession or input is highly appreciated.