使用jQuery / JS,如何将此字符串转换为2个数组?

时间:2013-12-09 19:28:37

标签: javascript jquery json

如何转换此字符串:

{ array1: [ 'mary', 'steve', 'george' ],
  array2: [ 'dog', 'cat', 'hobbit' ] }

进入2个阵列?

我尝试了以下但是我遇到了语法错误。

var array = JSON.parse("[" +string + "]");

谢谢。

编辑

我试过了:

var results = $('#progress').text();
var obj = JSON.parse(results);
var array1 = obj.array1;
var array2 = obj.array2;
console.log(array1);

但我得到了unexpected token a

编辑2

我使用它从mongodb中检索信息:

BlogPost.find(query, {"array1":"true", "array2":"true", "_id":0}, function(err, results){

  query.exec(function (err, post) {
    if (err) return next(err);
    if (!post) return next(); // 404

    res.render('post/view.jade', { post: post, comments: promise, results: results });
  })
})

2 个答案:

答案 0 :(得分:2)

我会做的

var obj = JSON.parse(string);
var array1 = obj.array1;
var array2 = obj.array2;

答案 1 :(得分:2)

这不是一个字符串,它是一个对象。要转换为有效的JSON对象,您只需要创建密钥字符串。即。

{ 
    'array1': [ 'mary', 'steve', 'george' ],
    'array2': [ 'dog', 'cat', 'hobbit' ] 
}

更新:看起来您只想访问数组

要做到这一点,只需分配一个变量并像这样访问

var arrays = { 
    array1: [ 'mary', 'steve', 'george' ],
    array2: [ 'dog', 'cat', 'hobbit' ] 
}

console.log(arrays.array1);
console.log(arrays.array2);