2016-04-19 3 views
-3

У меня есть данные, приведенные ниже, но это строкового типаКак преобразовать строку в массив объектов в javascript?

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

Я хочу, чтобы преобразовать его в массив объектов, но когда я использую JSON.parse или eval то дает мне что-то вроде этого

[Object, Object, Object] 

но я не хочу, как это, я просто хочу удалить его двойные кавычки, так что я могу получить к нему доступ как массив.

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

'JSON.parse (string)' делает то же самое. Вы не можете удалить ограничители строк. – Tushar

+0

Это массив, и вы можете использовать его так, как хотите. '[Object, Object, Object]' - это только массив. – gurvinder372

+0

Я предполагаю, что вы используете console.log для получения объекта Object, Object, Object? Это то, что консоль пишет, когда у него есть объект. Кроме того, очень непонятно, чего вы пытаетесь достичь? – Liam

ответ

2

При использовании JSON.parse(string) вы на самом деле разобрать строку JSON в объект. В вашем случае массив объектов.

Вы можете получить доступ к этому объекту с помощью

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

ли вы хотите, как это?

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); 
Смежные вопросы