【发布时间】:2016-12-24 03:22:05
【问题描述】:
我从一个 Ajax 请求返回一个 JSON 对象,它输出以下键和值:
[{"App_Name":"Maccy D's","ID":2017},{"App_Name":"B King","ID":2011}]
我需要将此对象转换为 Javascript 数组,其中每个 App_Name 和 ID 值连接为数组中的一个字符串。比如:
['Maccy D's 2017', 'B King 2011'] // etc...
我尝试的是调用
var assetsArray = JSON.parse(assetJSON);
但是当我将assetsArray 绑定到一个列表时,它会为每个菜单项显示[object Object]。而不是预期的App_Name + ID 串联:
如何将 JSON 对象转换为按键过滤的 Javascript 数组?
这就是我将返回的 JSON 绑定到菜单列表的方式:
Ajax 请求:
//call an Ajax GET for the asset name data
$.ajax({
url: asset_list_request_url,
cache: false,
success: function(assetJSON){
bindAssetNamesMenu(assetJSON);
}
});
映射函数:
function bindAssetNamesMenu(assetJSON)
{
var assetsArray = JSON.parse(assetJSON);
$.each(assetsArray, function(i)
{
var li = $('<li/>')
.addClass('ui-menu-item')
.attr('role', 'menuitem')
.appendTo(assetMenu);
var a = $('<a>')
.addClass('ui-all')
.appendTo(li);
var input = $('<input/>')
.addClass('ui-all')
.attr('type', 'checkbox')
.appendTo(a);
var span = $('<span>')
.text(assetsArray[i])
.appendTo(a);
});
}
【问题讨论】:
-
您的
object已经是array。那你想做什么?! -
使用
assetsArray[i].App_Name而不是assetsArray[i]
标签: javascript jquery arrays json ajax