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

У меня есть объект JSON

{Yana: 1, Pirelli: 2, Good Year: 1}

Ожидаемые результаты

series: [
         {name: 'Yana', data: [1]},
         {name: 'Pirelli', data: [5]},
         {name: 'Good year', data: [5]}
        ]

это просто (недействительный) объект, и вам нужен массив объектов - нет JSON

Jaromanda X 19.10.2018 10:05

отредактировано ... это были образцы данных

p.maimba 19.10.2018 10:06

отредактированный комментарий ... это все еще не имеет отношения к JSON ... это просто объект неверный ... если бы это был JSON ... это был бы нить, который выглядит как {"Yana": 1, "Pirelli": 2, "Good Year": 1}

Jaromanda X 19.10.2018 10:07
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
3
69
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Как насчет этого:

const object = {"Yana": 1, "Pirelli": 2, "Good Year": 1};

Object.keys(object).map(key => {
    return {name: key, data: [object[key]]};
})

Object.keys получает массив имен ключей от object, который можно повторять с помощью map. Используя это, затем просто построить выходной массив в желаемом формате.

Ответ принят как подходящий

Object.entries здесь поможет

var input = {"Yana": 1, "Pirelli": 2, "Good Year": 1};
var output = Object.entries(input).map(([name, v]) => ({name, data:[v]}));
console.info (output);

Вы можете использовать forEach() в Object.keys() для объекта data:

var data = {"Yana":1,"Pirelli":2,"Good Year":1};
var res = [];
Object.keys(data).forEach(key => res.push({name: key, data:[data[key]]}));
console.info(res);

Предоставленный вами объект не является допустимым объектом JSON. В формате JSON ваш объект будет:

{"Yana": 1, "Pirelli": 2, "Good Year": 1}

Предполагая, что у вас есть это в строке, первое, что вам нужно сделать, это проанализировать ее как объект JS:

const jsonData = '{"Yana": 1, "Pirelli": 2, "Good Year": 1}'
const object = JSON.parse(jsonData);

// Now get all the keys from the object:
const brands = Object.keys(object);

// Finally, create a new object with the desired properties:
const result = brands.map(brand => {
  return {
    name: brand,
    data: object[brand]
  };
})

Другие вопросы по теме