Этот вопрос чисто синтаксический.Я пытаюсь вставить сгенерированный объект JSON в другой объект JSON.
Допустим, мой JSON выглядит следующим образом:
var database =
{
"john": {
"pwd": "somehashrighthere",
"mail": "example@gmail.com"
}
}
Этот объект хранит хэш и электронную почту под именем пользователя,Теперь я хочу вставить нового пользователя:
var name = "somename";
var pwd = "hash";
var mail = "email@email.net";
Если я попытаюсь вставить это в объект json как
database.name =
{
"pwd": pwd,
"mail": mail
}
, я ожидаю вывод, который заполняет пробелы:
{
"john": {
"pwd": "r1pper",
"mail": "example@gmail.com"
},
"somenamerighthere": {
"pwd": "hash",
"mail": "email@email.net"
}
}
Вместо этого javascipt принимает выражение буквально:
{
"john": {
"pwd": "r1pper",
"mail": "example@gmail.com"
},
"name": {
"pwd": "pwd",
"mail": "mail"
}
}
Я новичок в javascript / json и был бы признателен, если бы вы, ребята, объяснили мне, как можно динамически (!) генерировать объекты JSON и передавать их в большую структуру данных.Ни один из ответов, которые я нашел на SO, не мог решить эту проблему так, как я мог понять.Нужно ли вносить изменения в структуру данных или я просто неправильно понял синтаксис javascript / node.js?Заранее спасибо:)
Редактировать: Я решил проблему довольно просто.Оказывается, javascript фактически передает переменные в json, и я просто запутался:
{
"john": {
"pwd": "r1pper",
"mail": "example@gmail.com"
},
"name": {
"pwd": "hash",
"mail": "email@email.net"
}
}
Теперь нам просто нужно передать имя динамически, что может быть решено обработкой JSON, как если бы это был массив:
database[name]
рассматривает name
как переменную.
Редактировать 2:
Приведенные ниже комментарии пришли во время редактирования.Я прошу прощения за это.