2016-09-19 5 views
-2
{scenarios: "[{purchasePrice:11,downPayment:1,term:30,rate:1}]"} 

Это моя цель. Я хочу превратить значение сценариев в массив, который пытается быть из строки.Как я могу разобрать строку массива в массив?

Есть ли быстрый инструмент, поэтому мне не нужно его взломать из .splits?

+2

'eval()' можно использовать –

+1

Как создается эта строка? – Neal

ответ

0

Да, если строка приходит из надежного источника, вы можете использовать eval, который будет оценивать как строку кода JavaScript:

var scenarios = eval(theObject.scenarios); 

Поскольку eval позволяет запускать произвольный код, дон» t использовать его на строках из ненадежных источников. Кроме того, он имеет тенденцию затруднять или невозможно, чтобы механизм JavaScript мог оптимизировать код, в котором он находится, поэтому изолируйте его использование в функции, чтобы влияние было сведено к минимуму.

+0

Несмотря на то, что это недействительно JSON, все же, вероятно, безопаснее делать 'JSON.parse (obj.scenarios);' right? – Jonathan

+0

@ Джонатан: Ну, нет, потому что это просто с ошибкой. *** Если *** это был действительный JSON, * тогда * да, было бы гораздо лучше использовать 'JSON.parse'. –

+0

Ах, извините, я вижу ... – Jonathan