Javascript 如何从json动态获取选定列数据?
我需要从json中获取正确的列表框列数据 我的json如下:Javascript 如何从json动态获取选定列数据?,javascript,arrays,json,Javascript,Arrays,Json,我需要从json中获取正确的列表框列数据 我的json如下: [ { "CustName": "Matt Harrison", "name": "Steve Rucci", "functionRoom": "Living Room", "bookingId": "659", "bookingName": "Matt Booking for Lost Business Report Sept 11", "postAs": "" } ] 我
[
{
"CustName": "Matt Harrison",
"name": "Steve Rucci",
"functionRoom": "Living Room",
"bookingId": "659",
"bookingName": "Matt Booking for Lost Business Report Sept 11",
"postAs": ""
}
]
我应用了一个定制的函数
copyObjectProps(source, keys) {
let newObject = {}
keys.forEach(function(key) {
newObject[key] = source[key]
})
return newObject
}
在按钮上,首先单击“我准备列列表”
$("#button").click(function(){
var s='';
$("Listbox > option").each(function() {
s+="'"+this.text+"',";
});
s=s.replace(/,+$/,'');
objBookingReports.RS_FN_FunctionList=s;
})
然后该列表转到copyObjectProps()函数并创建过滤后的json对象
var filteredparam1 = new Array();
var x =objBookingReports.RS_FN_FunctionList;
// x value is "'bookingId','bookingName'"
x = x.replace(/^"\?/, '');
x=x.replace(/"+$/,'');
var y=[x];
$.each(jsonData, function(key, value){
filteredparam1.push(objBookingReports.copyObjectProps(value,y))
});
console.log(filteredparam1)
}
问题在于格式化。当我将列列表放在y=[x]。它不会使用选定列重新调整json数据。但如果我试图将核心价值观
var y=['bookingId','bookingName'];
然后它向我展示结果。请建议如何正确设置列列表的格式?尝试以下方法:
var filteredparam1 = new Array();
var x =objBookingReports.RS_FN_FunctionList;
// x value is "'bookingId','bookingName'"
// x = x.replace(/^"\?/, '');
// x=x.replace(/"+$/,'');
var y = x.replace(/["']/g, "").split(',') // var y=[x];
$.each(jsonData, function(key, value){
filteredparam1.push(objBookingReports.copyObjectProps(value,y))
});
console.log(filteredparam1)
}
似乎您的y
变量变成了一个只有一个元素的数组:“'bookingId','bookingName'”
;试着用变量x
中的空格替换单引号,并用逗号分隔
替换单引号和双引号的解决方案。请在此行后使用变量
x
的输出更新您的问题:var x=objBookingReports.RS\u FN\u FunctionList代码>?这是给我的输出=“'bookingId','bookingName'”制作在线代码片段,你会得到快速的答案!