как быстро отредактировать json

#javascript #json #excel

#javascript #json #excel

Вопрос:

Я создаю таблицу в Excel с 1000 вопросами, и когда конвертирую ее в JSON, я получаю:

  [{
  "QUESTION": "61771",
  "ANSWERS": "2772718 ",
  "CORRECT": "1,2,3,4"
},
  {
    "ANSWERS": "7271717"
  },
  {
    "ANSWERS": "272727"
  },
  {
    "ANSWERS": "6271717"
  },
  {
    "QUESTION": "716171781",
    "ANSWERS": "6171717",
    "CORRECT": "1,2,3"
  },
  {
    "ANSWERS": "7171616"
  },
  {
    "ANSWERS": "287272"
  },
]
  

Но мне нужно, чтобы перед «ВОПРОСОМ» все «ОТВЕТЫ» подключались к одному «ANSWERS» и делали массив на «CORRECT», вот так:

     {
      "QUESTION":"LALALLA",
      "ANSWERS":["123214","123214","124214","12412414"]
      "CORRECT":[1,2,3,4]
    },
  

Как я могу быстро изменить / исправить этот JSON с помощью js или другого языка программирования?

Ссылка на таблицу Excel

Комментарии:

1. Не могли бы вы поделиться своей таблицей Excel? (или, по крайней мере, пример)

2. @Nanoo таблица

3. могу ли я быстро изменить , вопрос относительный. В днях, часах, минутах, секундах? Возможно, волшебные функции?

4. Попробуйте использовать этот онлайн-инструмент (у меня это сработало с вашей таблицей Excel)

5. @GetSet для меня это очень важно. Мой отец хочет практиковаться как можно быстрее)

Ответ №1:

Чтобы сделать это, вам нужен способ определить, какие ответы связаны с какими вопросами. Судя по вашим примерам данных, это не так.

Ответ №2:

Это то, что нужно?

код

 let arr = [{
  "QUESTION":"LALALLA",
  "ANSWERS":"123214",
  "CORRECT":"1,2,3,4",
},
{
  "ANSWERS":"123214"
},
{
  "ANSWERS":"124214"
},
{
  "ANSWERS":"12412414"
}];

arr[0].CORRECT = arr[0].CORRECT.split(',').map((ele) => {
  return parseInt(ele);
});

let answ = [];
arr.forEach((ele) => {
  answ.push(ele.ANSWERS);
});

arr[0].ANSWERS = answ;
  

ВЫВОД

console.log(arr[0])

 {
  "QUESTION": "LALALLA",
  "ANSWERS": [
    "123214",
    "123214",
    "124214",
    "12412414"
  ],
  "CORRECT": [
    1,
    2,
    3,
    4
  ]
}
  

Комментарии:

1. Спасибо вам, но это не работает, когда я конвертирую в JSON несколько вопросов, подобных этому

2. извините, по телефону писать действительно сложно, а я хочу спать. можете ли вы подождать около 8-9 часов, когда я проверю ваш ответ?

Ответ №3:

Преобразуйте это в pandas в python pandas.read_json (имя) и попробуйте использовать transpose, melt и некоторые другие функции, предлагаемые pandas.

Комментарии:

1. Хотя это может сработать., предложение другого языка не отвечает на вопрос. Кроме того, ваш ответ очень расплывчатый: использование transpose, melt и некоторых других функций, предлагаемых pandas, может быть интуитивно понятным не для всех.