Jquery将一种类型的字符串转换为字符串数组

时间:2010-05-12 12:36:25

标签: jquery string

考虑一个

的字符串
{"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
                });
            });

5 个答案:

答案 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; });