Как получить строки или ячейки из json в javascript?

У меня проблема с получением строк из JSON и их сохранением в отдельном объекте {}. Вот как я структурирую свои данные.

Как получить строки или ячейки из json в javascript?

Попробовав разные техники, я наконец думаю, что это близко, но не то, что я ищу.

for(let i = 0; i < cols.length; i++){
   Object.values(allData.analysis[key]).slice(1).map(val => {
     console.info({[cols[i]]: val[i]})
   })
}

все данные содержит все данные, включая заголовок

name,age,gender
John Deo,45,male
Mary Jeo,54,female
Saly Meo,55,female

cols содержит только заголовок


Вот что я получил после запуска приведенного выше кода.

То, что у меня есть до сих пор.

Как получить строки или ячейки из json в javascript?

Чего я хочу достичь.

Как получить строки или ячейки из json в javascript?

Я рад предоставить больше примеров кодов!

Вы можете использовать функцию reduce, чтобы получить желаемый объект.

RedPandaz 26.10.2018 01:51

Это CSV, из которого вы его получаете?

SakoBu 26.10.2018 01:59

Да, я загружаю в firebase как csv, но читаю его из json.

SolowDev 26.10.2018 02:00

это может помочь думать об этом «объекте JSON» как об объекте javascript, потому что 1. это объект javascript, и 2. не существует такой вещи, как объект JSON, JSON - это строка, но как только вы ее проанализируете, вы имеем дело с обычным скучным javascript-объектом

Bravo 26.10.2018 02:03

у вас есть образец allData?

RedPandaz 26.10.2018 02:34
Поведение ключевого слова "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) для оценки ваших знаний,...
1
5
1 449
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Трудно сказать без образца структуры данных, но можно сделать что-то подобное и адаптироваться.

const allData = [
  ["John Deo", 45, "male"],
  ["Mary Jeo", 54, "female"],
  ["Saly Meo", 55, "female"]
];

const data = allData.reduce((accum, curr) => {
  let obj = {};
  obj.name = curr[0];
  obj.age = curr[1];
  obj.gender = curr[2];
  return [...accum, obj];
}, []);

console.info(data);
Ответ принят как подходящий

Больше ответов для динамических данных, например, вы добавляете дополнительный заголовок

var temporary = [
  "name,age,gender,status",
  "John Deo,45,male,single",
  "Mary Jeo,54,female,married",
  "Saly Meo,55,female,married"
];

// for dynamic header

var headers = temporary[0].split(',');
var data = [];

for(var x = 1; x < temporary.length; x++) {

   var dataToInsert = {};
   // split values to convert to array
   var values = temporary[x].split(',');

   // loop inside headers
   for(var i = 0; i < headers.length; i++) {
      var key = headers[i];
      // assign values according to match indexes
      dataToInsert[key] = values[i];
   }
   data.push(dataToInsert);
}

console.info(data);

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