1

这里是 Javascript 的新手。我在用 JQuery 解析一些 JSON 时遇到了一些麻烦。我相信这取决于我的 JSON 的结构,但是因为我将这些脚本用于其他服务,所以不想改变那里的结构。

我的JSON如下

{"customerInAccount":[{"customer_name":"Jane Doe","auto_id":"21"},{"customer_name":"Jack   Black","auto_id":"22"}]}

理想情况下,我想使用 customer_name 来填充列表视图,并且我还想将 auto_id 保存在某处(可能是本地存储),因此如果选择我可以显示相关数据。

如果有人可以帮助我构建一个循环来解析这个 JSON,我将非常感激。

4

3 回答 3

3

您可以使用 jQuery 轻松解析它。

$.parseJSON(data); 

尝试这个:

var json = $.parseJSON(data);
for(var i=0; i<json.customerInAccount.length; i++){
     // do your stuff here..
}

如果您有任何问题,请告诉我

于 2013-02-28T11:53:45.397 回答
1

像这样使用

var value=yourJsonString
var results=JSON.parse(value); 

$.each(results.customerInAccount,function(i,item){
 // do with item 
alert(  item.customer_name);
});

工作演示:带循环的 JSON 解析

于 2013-02-28T11:53:59.513 回答
1

您可以按照以下方式进行。

$('#home').live('pageshow', function(){
    // creating object 
    var customerList = JSON.parse('{"customerInAccount":[{"customer_name":"Jane Doe","auto_id":"21"},{"customer_name":"Jack   Black","auto_id":"22"}]}');

    // creating html string
    var listString = '<ul data-role="listview" id="customerList">';

    // running a loop
    $.each(customerList.customerInAccount, function(index,value){
     listString += '<li><a href="#" data-cusid='+this.auto_id+'>'+this.customer_name+'</a></li>';
    });
    listString +='</ul>';

    console.log(customerList);

    //appending to the div
    $('#CustomerListDiv').html(listString);

    // refreshing the list to apply styles
    $('#CustomerListDiv ul').listview();

    // getting the customer id on the click
    $('#customerList a').bind('click',function(){
     var customerID = $(this).data('cusid');  
     alert(customerID);
    });
});

你可以在这里查看活跃的工作小提琴。http://jsfiddle.net/amEge/3/

于 2013-02-28T13:17:48.213 回答