0 / 0 / 0
Регистрация: 28.04.2019
Сообщений: 52
1

Запись данных в файл json

24.05.2020, 15:21. Показов 2526. Ответов 1
Метки нет (Все метки)

Я делаю бота Discord на JS и столкнулся с такой проблемой.
У меня есть код:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    let profile = require('./UsersData.json')
    let uid = message.author.id; //айди участника
    let gid = message.guild.id; //айди гильдии
    if(!profile[gid]){
        profile[gid] = {
            uid:{
                coins:0,
                warns:0,
                xp:0,
                lvl:1
            }
        }
    }
    if(!profile[gid][uid]){
            profile[gid] ={
            uid:{
                coins:0,
                warns:0,
                xp:0,
                lvl:1
        }
    }
(Наверное криво написал, но иначе выдавало бы ошибку что типа "айди участника" в undefined, или что-то в этом роде)
Это типа создания профиля участника, но вот в чём проблема. Вместо айди участника, js записывает "uid" из-за чего происходит постоянная "регистрация" профиля участника. Как это можно исправить?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2020, 15:21
Ответы с готовыми решениями:

Запись данных в json файл
Суть в том,что нужно создать json файл, в который нужно постоянно записывать данные об...

Не идёт запись в файл .json
Доброго времени суток, форумчане. Не могу понять почему запись в файл не работает. Есть файл...

запись данных в json
Есть форма. С нее получаем данные POST'ом. Эти данные записываем в json файл. Проблема: кириллица...

Запись данных из json в mysql
Здравствуйте. Подскажите пожалуйста как организовать запись данных из json в mysql? Есть json...

1
Всегда онлайн
1082 / 786 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
24.05.2020, 16:30 2
Лучший ответ Сообщение было отмечено Dragone как решение

Решение

Dragone, проблема в том, что вы используете require не там где надо. require используется для подключения модулей, но никак не файлов с данными, так как внутри у require есть внутренний кэш. К тому же, вы не можете сохранять новых пользователей так.

Решения:
1. Написать самому 2 функции - считывания файла и запись файла в массив или объект, через тот же fs.readFile/JSON.parse, и тогда работать с массивом в памяти, а когда надо сохранять его на диск.
2. Использовать модуль с npm - сам использовал https://www.npmjs.com/package/lowdb - минималистично, работает по принципу 1 способа, только с красивым API, только немного надо времени разобраться с lodash стилем доступа к данным.
3. Если планируете работать с реально большим количеством пользователей - подключайте уже какую-то БД, тот же sqlite.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2020, 16:30
Помогаю со студенческими работами здесь

Как добавить, удалить, обновить, прочитать только одну запись в JSON файл?
Вопросы 1. Как добавить, удалить, обновить, прочитать только одну запись в JSON файл? 2. Можно ли...

Файл json данных
Доброго времени суток. Возникла необходимость обработки JSON данных. Данные записаны в отдельном...

Вывод данных в json-файл
<?php function valuta($id) { $date = date("d/m/Y"); $link =...

Прочитать файл json в базу данных sql
Всем привет, может кто-нибудь на пальцах объяснить с подробностями, как зачитать файл формата json...

Конвертация в файл формата json древовидной структуры данных
Есть класс, которые имеет следующий вид: public class Node { public string name; public ...

Считывание из текстового файла выборочных данных, сортировка данных по возрастанию и последующая запись в другой файл
Дан файл: 0.3000000E+01 0.1000000E+03 501 1 1 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru