2015-12-07 62 views
0

这里是URL中的JSON数组:http://ins.mtroyal.ca/~nkhemka/2511/process.php如何使用jquery将json数组解析为javascript数组?

{"Roll":[{"value":3},{"value":5},{"value":2},{"value":6},{"value":2}]} 

我试图解析此数组转换成JavaScript数组,如

var diceList = [3, 5, 2, 6, 2 ] 

我迄今:

$.post("http://ins.mtroyal.ca/~nkhemka/2511/process.php") 
    .done(function (data){ 
     diceList = $.parseJSON(data); 
     alert(diceList); 
}); 

执行代码时,警报只是说[object Object]。我不确定如何做到这一点!

回答

3

尝试map()方法来获得格式的结果,并alert()功能可以显示的字符串值,以便可以从join(',')功能

$.post("http://ins.mtroyal.ca/~nkhemka/2511/process.php") 
    .done(function (data){ 
     diceList = $.parseJSON(data); 
     var list = $.map(diceList.Roll, function(v){ 
      return v.value; 
     }) 
     alert(list.join(',')); 
}); 
0
$.post("http://ins.mtroyal.ca/~nkhemka/2511/process.php") 
    .done(function (data){ 
     var diceList= new Array(data.Roll.length); 
     for(var i= 0; i< data.Roll.length; i++){ 
      diceList[i]=data.Roll[i].value; 
     } 
     alert(diceList); 
    }); 
0

以下划线它真的很容易改变数组转换成字符串:

$.post("http://ins.mtroyal.ca/~nkhemka/2511/process.php").done(function (data){ 
     data = JSON.parse(data); // JSON.parse is the same 
     diceList = _.map(data.Roll, function(num){ return num.value; }); 
     console.log(diceList); 
}); 

无:

data = JSON.parse(data); 
diceList = []; 
for (var i in data.Roll) 
    diceList.push(data.Roll[i].value); 
console.log(diceList); 

https://jsfiddle.net/rabztbcd/

0

迭代滚动项目实现其价值的一个数组。

JsFiddle

$.post("http://ins.mtroyal.ca/~nkhemka/2511/process.php") 
    .done(function (data) { 
     var diceList = $.parseJSON(data); 
     var array = []; 

     $.each(diceList.Roll, function(i, item) { 

      array.push(item.value); 
     }); 

     alert(array); 
});