Как конвертировать JSON массив в JavaScript массив?
То-есть, этот код может работать только с одним элементом JSON. А как сделать, чтобы он все конвертировал?
Мне нужно получить JavaScript массив такого формата:
var newData = [ [978, 18, 13, "Что-то \"что-то там\", г.Москва - 9999", '1998-01-01T00:00:00'], [980, 311, 358, "Что-то \"что-то там\", г.Москва - 5555", "2029-01-01T00:00:00"], [988, 33, 1450, "Что-то \"что-то там\", г.Москва - 8888", "2153-01-01T00:00:00"], ];
- Вопрос задан более трёх лет назад
- 3459 просмотров
Преобразовать js массивы в JSON
Есть два js-массива ids=[11,12. 18] и titles=[Веник,Швабра. Пылесос] И вот вопрос — как лучше всего преобразовать всё это дело в JSON вот такого вида:
'impressions': [ < 'title': 'Веник', 'id': '11' >, < 'title': 'Швабра', 'id': '12' >]
Хотя бы подскажите направление куда курить мануалы. Спасибо.
Отслеживать
задан 10 мая 2020 в 10:00
59 5 5 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Предположим, что кол-во элементов в массивах одинаково
const ids = [1, 2, 3, 4, 5, 6]; const titles = ['1', '2', '3', '4', '5', '6']; const result = < impressions: ids.map((id, index) =>()), >; console.log(JSON.stringify(result));
Отслеживать
ответ дан 10 мая 2020 в 10:13
12.2k 1 1 золотой знак 21 21 серебряный знак 40 40 бронзовых знаков
ок, спасибо, все классно. а что если содержимое этих массивов меняется при прокрутке страницы? вместо const юзать let, это мне понятно, а еще?
10 мая 2020 в 10:28
@alexashko не совсем понял про прокрутку
10 мая 2020 в 10:30
ух тут долго объяснять. Эти массивы хранят айди и названия товаров, которые попали в видимую область экрана. Для гугл аналитики. То есть, человек крутит, сейчас в массиве «Веник» и «Швабра», прокрутил ниже — эти товары удалились из массива, а добавились «Пылесос» и «Тапочки». В общем, не суть важно — главное — что содержимое массивов меняется.
10 мая 2020 в 10:33
Я сделал, как Вы советовали, все работает, но в консоли я вижу, что в json добавились все товары,, которые на странице, не удаляются прокрученные
10 мая 2020 в 10:34
смотря как вы удаляете элементы ( вообще решение в лоб — просто полностью пересоздавать массив с нужными элементами ), если делать по умному, то лучше задайте отдельный вопрос и там все опишите)
Как в js преобразовать массив в json
Чтобы преобразовать массив в строку JSON , можно воспользоваться методом JSON.stringify() :
[1,2,3,4,5]
23 октября 2022
В дополнение к ответу выше хочется упомянуть о дополнительных возможностях метода JSON.stringify():
Перейдем сразу к примеру:
//Дан массив объектов с вложенной структурой const users = [ name: 'Karina', password: 'qwerty', info: age: 25, children: true, >, >, name: 'Mark', login: 'alice', info: age: 27, children: false, >, >, ]; console.log(JSON.stringify(users)); //Если воспользоваться стандартным способом, то вывод в консоли будет следующий: // => [>, //>]
Согласитесь, что этот способ не очень читаемый.
Если мы передадим третьим параметром число или символ, то он сможет использоваться
для управления интервалом в конечной строке.
console.log(JSON.stringify(users, null, 2)); // => //[ // // "name": "Karina", // "password": "qwerty", // "info": // "age": 25, // "children": true // > // >, // // "name": "Mark", // "login": "alice", // "info": // "age": 27, // "children": false // > // > //]
Теперь вывод в консоли стал более читаем. Также третьим параметром можно передать и символы.
Посмотрим, как это будет выглядеть:
console.log(JSON.stringify(users, null, '-/-')); // => //[ //-/- //-/--/-"name": "Karina", //-/--/-"password": "qwerty", //-/--/-"info": //-/--/--/-"age": 25, //-/--/--/-"children": true //-/--/-> //-/->, //-/- //-/--/-"name": "Mark", //-/--/-"login": "alice", //-/--/-"info": //-/--/--/-"age": 27, //-/--/--/-"children": false //-/--/-> //-/-> //]
Возможно, эти способы окажутся для вас полезными.
Преобразование JSON в структуру данных JavaScript
С помощью метода JSON.parse можно преобразовать JSON в структуру данных JavaScript. Давайте посмотрим на примере.
Пусть у нас есть строка, содержащая массив в формате JSON:
let json = ‘[1, 2, 3, 4, 5, «a», «b»]’;
Преобразуем нашу строку в массив:
let arr = JSON.parse(json);
В случае, если строка будет содержать некорректный JSON, наш метод выдаст ошибку:
let json = ‘[1, 2, 3, 4, 5,]’; // некорректный JSON let arr = JSON.parse(json); // выдаст ошибку
Дана строка в формате JSON, содержащая массив с числами:
let json = ‘[1,2,3,4,5]’;
Преобразуйте эту строку в настоящий массив JavaScript и найдите сумму чисел этого массива.
Дана строка в формате JSON, содержащая объект с данными:
Найдите сумму чисел из представленных данных.
Дана строка в формате JSON, содержащая имена юзеров:
let json = ‘[«user1″,»user2″,»user3″,»user4″,»user5»]’;
Выведите эти имена в виде списка ul .
Дана строка в формате JSON, содержащая массив с данными работников:
Выведите этих работников на экран в виде HTML таблицы.