使用jQuery从JSON响应中创建一个对象
问题描述:
我通过AJAX调用以JSON格式从PHP文件中获取响应。使用jQuery从JSON响应中创建一个对象
console.log(data["json"]);
[{"value":"23","label":"Assorted Juices"},{"value":"24","label":"Water"},{"value":"25","label":"Beers"},{"value":"26","label":"Carbonated Drinks"},{"value":"27","label":"Instant Beverages "},{"value":"28","label":"Energy Drinks"}]
我能够遍历JSON
var subCategory = data["json"];
//console.log(subCategory);
var obj = $.parseJSON(subCategory);
$.each(obj, function() {
$label = this['label'];
$value = this['value'];
});
我在javascript需要构建对象像下面。我如何调整上述循环来生成这样的对象。
var data = [
{ label: 'Water', value: '24' },
{ label: 'Energy Drinks', value: '28' },
]
答
创建一个对象并将其推送到数组可以完成这项工作。
var subCategory = data["json"];
//console.log(subCategory);
var obj = $.parseJSON(subCategory);
var data3 = [];
var counter = 0;
$.each(obj, function() {
$label = this['label'];
$value = this['value'];
var obj2 = {
label: $label,
value: $value
};
data3.push(obj2);
});
你可以修改PHP代码吗?您的数据已经以您需要的格式存在,您只需要将'id'键改为'value',将'name'改为'label'。 –
id和name是数据库字段,请参阅上面的php代码。 – brainHax
和...为什么你不能重命名选择内的字段? –