如何在javascript中将字符串转换为对象数组?

时间:2016-04-19 08:45:19

标签: javascript arrays

我有一个如下所示的数据,但它是字符串类型

  "[
     {
      name: "Robert Baratheon",
      birthday: "12/02/1965"
    }, {
      name: "Daario Naharis",
      birthday: "12/02/1985"
    }, {
      name: "Viserys Targaryen",
      birthday: "12/06/1984"
    }
  ]"

我想将它转换为对象数组,但是当我使用JSON.parseeval时,它会给我这样的东西

[Object, Object, Object]

但我不想这样,我只是想删除它的双引号,我可以像数组一样访问它。

   [
    {
      name: "Robert Baratheon",
      birthday: "12/02/1965"
    }, {
      name: "Daario Naharis",
      birthday: "12/02/1985"
    }, {
      name: "Viserys Targaryen",
      birthday: "12/06/1984"
    }
  ]

2 个答案:

答案 0 :(得分:2)

当您使用JSON.parse(string)时,您实际上会将一串JSON解析为Object。在您的情况下,一个对象数组。

您可以通过

访问此对象
var myList = JSON.parse(string)
myList[0] //This will give you the first item in the list
console.log(myList[0].name) //Outputs Robert Baratheon to the console

答案 1 :(得分:1)

你想这样吗?

var json = JSON.parse(string);
var length = json.length;
var names = [];
var birthdays = [];
for(var i=0;i<length;i++)
{
  names[i] = json[i].name;
  birthdays[i] = json[i].birthday;
}
console.log(names);
console.log(birthdays);