考虑一个
的字符串{"Table" : [{"Bird" : "Peacock"},
{"Bird" : "Crow"}]}
到jquery中的这个["Peacock", "Crow"]
......这可能吗?
修改 我这样做但没有工作......
$(document).ready(function() {
var obj = JSON.parse('{"Table" : [{"Bird" : "Peacock"},{"Bird" : "Crow"}]}');
myarray = [];
$.each(obj.table, function(i, v) {
myarray.push(v.Bird);
});
$("#tags").autocomplete(myarray, {
width: 138,
max: 4,
highlight: false,
multiple: true,
multipleSeparator: " ",
scroll: true,
scrollHeight: 300
});
});
答案 0 :(得分:0)
您可以在简单的javascript中执行此操作:
var obj={"Table" : [{"Bird" : "Peacock"},{"Bird" : "Crow"}]};
var tables=obj.Table,i,ret=[];
for(i=0;i<tables.length;i++)
ret.push(tables[i].Bird);
然后在变量ret中你将得到结果数组
答案 1 :(得分:0)
如果是字符串,可以使用parseJSON将其转换为对象(对于jQuery 1.4+)。否则,跳过第一行:
var s = '{"Table" : [{"Bird" : "Peacock"},{"Bird" : "Crow"}]}';
var data = $.parseJSON(s);
var table = data.Table;
var birds = [];
for(var i = 0; i< table.length;i++){
birds.push(table[i].Bird);
}
alert(birds); //Peacock,Crow
答案 2 :(得分:0)
var list = {"Table" : [{"Bird" : "Peacock"},{"Bird" : "Crow"}]};
var newList = $.map(list.Table, function(item) {
return item.Bird
});
答案 3 :(得分:0)
var s = '{"Table" : [{"Bird" : "Peacock"},{"Bird" : "Crow"}]}'
var result = '[' + $.map($.parseJSON(s).Table, function(el) {
return '"' + el.Bird + '"';
}).join(', ') + ']';
功能样式规则。虽然,我不确定你真的想要字符串作为输出。如果不是:
var result = $.map($.parseJSON(s).Table, function(el) {
return el.Bird;
});
答案 4 :(得分:0)
您可以使用parseJSON
方法(需要jQuery 1.4.1或更高版本)来解析字符串,然后使用map
方法从每个项目中获取Bird
属性:
var str = '{"Table" : [{"Bird" : "Peacock"},{"Bird" : "Crow"}]}';
var arr = $.map($.parseJSON(str).Table, function(e){ return e.Bird; });
如果它不是字符串而是对象,则只需要map
方法:
var obj = {"Table" : [{"Bird" : "Peacock"},{"Bird" : "Crow"}]};
var arr = $.map(obj.Table, function(e){ return e.Bird; });