26DiDi12
@26DiDi12
Энтузиаст :3

Как сделать так, чтобы бот записывал пользователей так как мне нужно?

У меня на сервере есть система уровней и бот записывает каждого нового пользователя в файл profile.json, но он их записывает в кашу, ну например:
{"id1":{"coins":0,"warns":0,"xp":0,"lvl":0},"id2":{"coins":0,"warns":0,"xp":0,"lvl":0}}.
Вот, а мне нужно, чтобы он их записывал в столбик, например так:
{"id1":{"coins":0,"warns":0,"xp":0,"lvl":0},
{"id2":{"coins":0,"warns":0,"xp":0,"lvl":0}.
Ибо я сильно путаюсь в этом всё перебирать кто-где.
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
Ну как бы, тут не косяк бота, и не косяк языка. Так разработан стандарт JSON. Вы можете применить форматирование к файлу JSON.stringify(data, null, 4) (где 4 - количество пробелов в уровне табуляции). Можете использовать другой формат данных, например - CSV. Можете подключить базу данных, какой-нибудь SQLite. Конечно, Вы можете написать свой велосипед:
const toJSON = data => {
  if (Array.isArray(data)) {
    const prepared = data.map(value => JSON.stringify(value));
    return `[\n${prepared.join(',\n')}\n]`;
  } else {
    const prepared = Object.entries(data).map(([key, value]) => (
      `${JSON.stringify(key)}: ${JSON.stringify(value)}`
    ));
    return `{\n${prepared.join(',\n')}\n}`;
  }
};
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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