Как преобразовать string в массив объектов?

291
25 июня 2017, 17:21

Здравствуйте. Имеется строка, полученная в результате сериализации JSON.

[{"input_name": "\u0427\u0443\u0436\u043e\u0439: \u0417\u0430\u0432\u0435\u0442", "input_slug": "alien"}, {"input_name": "\u0412\u0430\u043b\u0435\u0440\u0438\u0430\u043d \u0438 \u0433\u043e\u0440\u043e\u0434 \u0442\u044b\u0441\u044f\u0447\u0438 \u043f\u043b\u0430\u043d\u0435\u0442", "input_slug": "valerian"}, {"input_name": "\u041b\u0435\u043e\u043d", "input_slug": "leon"}, {"input_name": "\u041c\u0435\u0447 \u043a\u043e\u0440\u043e\u043b\u044f \u0410\u0440\u0442\u0443\u0440\u0430", "input_slug": "king-arthur-legend-of-the-sword"}]

Как средствами javascript эту строку преобразовать в массив объектов? Используя метод ниже, у меня создается массив только с одним элементом, это с той же строкой.

var xr = JSON.parse("[" + x + "]")

Заранее благодарю :)

Answer 1

Используйте

var arr = JSON.stringify([{"input_name": "\u0427\u0443\u0436\u043e\u0439: \u0417\u0430\u0432\u0435\u0442", "input_slug": "alien"}, {"input_name": "\u0412\u0430\u043b\u0435\u0440\u0438\u0430\u043d \u0438 \u0433\u043e\u0440\u043e\u0434 \u0442\u044b\u0441\u044f\u0447\u0438 \u043f\u043b\u0430\u043d\u0435\u0442", "input_slug": "valerian"}, {"input_name": "\u041b\u0435\u043e\u043d", "input_slug": "leon"}, {"input_name": "\u041c\u0435\u0447 \u043a\u043e\u0440\u043e\u043b\u044f \u0410\u0440\u0442\u0443\u0440\u0430", "input_slug": "king-arthur-legend-of-the-sword"}]); 
 
console.log(arr);

Answer 2

var stroka = '[{"input_name": "\u0427\u0443\u0436\u043e\u0439: \u0417\u0430\u0432\u0435\u0442", "input_slug": "alien"}, {"input_name": "\u0412\u0430\u043b\u0435\u0440\u0438\u0430\u043d \u0438 \u0433\u043e\u0440\u043e\u0434 \u0442\u044b\u0441\u044f\u0447\u0438 \u043f\u043b\u0430\u043d\u0435\u0442", "input_slug": "valerian"}, {"input_name": "\u041b\u0435\u043e\u043d", "input_slug": "leon"}, {"input_name": "\u041c\u0435\u0447 \u043a\u043e\u0440\u043e\u043b\u044f \u0410\u0440\u0442\u0443\u0440\u0430", "input_slug": "king-arthur-legend-of-the-sword"}]'; 
var obj = JSON.parse(stroka); 
 
console.log(obj[2]); 
console.log(obj[3].input_name);

obj - массив из 4х элементов, у каждого из которых есть свойства input_name и input_slug.

READ ALSO
Идея для single page application [требует правки]

Идея для single page application [требует правки]

Привет всем!) Можете кто-нибудь помочь придумать идею для несложного SPA приложения, который можно сделать примерно за месяц без фреймворков

532
Перевод числа в процент

Перевод числа в процент

Вопрос вот в чемЕсть задача и 2 переменные х и у

482
Owl-carousel на нужном разрешении

Owl-carousel на нужном разрешении

Использую owl-carousel в двух секцияхВ первой секции слайдер идёт на всех разрешениях

315
Input date текущий день

Input date текущий день

Как сделать, чтобы в поле появлялся текущий день

418