Задать вопрос
@DaniilPo

Как правильно сделать json файл?

Добрый день, на сайте после нажатия на кнопку старт я получаю move телефона и записываю все данные в массив, после того как пользователь нажимает стоп я записываю всё в json и пользователь скачивает эти данные
Всё прекрасно работае но есть не большое но:
в js создание json выглядит примерно так:
for(let j = 0; j < move; j++){
      let jsonmove = {
        ID: j,
        data:[
          {

            second: movetime[j],
            left: leftarr[j],
            right: rightarr[j],
            up: uparr[j],
            down: downarr[j]
          }
        ]
      };

      datamove += JSON.stringify(jsonmove) + "\n";
    }

и в следствие чего файл выглядит таким образом:
spoiler
62987f26aefb0935052770.png


работать с этим можно но тем не менее не очень приятно
если есть возможность както по лучше делать запись то было бы прекрасно
  • Вопрос задан
  • 144 просмотра
Подписаться 2 Простой 4 комментария
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
const moves = [];

... 
moves.push(JSON.stringify(jsonmove));
...

const datamove = "[\n" + moves.join(",\n") + "\n]";


Это если исходить из того, что вам нужен именно такой формат, когда каждый элемент массива на отдельной строке.
Иначе же можно упростить до
const moves = [];

... 
moves.push(jsonmove);
...

const datamove = JSON.stringify(moves);
Ответ написан
Комментировать
Findoss
@Findoss
JS dev
const move = 3;

const movetime = ["a", "1", "c"];
const leftarr = ["b", "b", "c"];
const rightarr = ["b", "b", "r"];
const uparr = ["a", "3", "x"];
const downarr = ["a", "b", "o"];

const jsonmove = [];
for (let j = 0; j < move; j++) {
  jsonmove.push({
    ID: j,
    data: [
      {
        second: movetime[j],
        left: leftarr[j],
        right: rightarr[j],
        up: uparr[j],
        down: downarr[j],
      },
    ],
  });
}

const datamove = JSON.stringify(jsonmove, null, 2);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы