JavaScript Custom JSON Имена Childs

Я пытаюсь создать массив JSON:

let someJSON = {};
someJSON["number1"] = "someString";

работает. Но когда я хочу установить "Child" в number1, это не получается:

someJSON["number1"]["date"] = "19.01.2017";

Я пробовал некоторые вещи, но это не работает:(Мне нужно создать JSON, как это, потому что мне нужны переменные как родители

2 ответа

Решение

Я пытаюсь создать массив JSON:

let someJSON = {};
someJSON["number1"] = "someString";

Это не массив JSON, это объект JavaScript.

Но когда я хочу установить "Child" в number1, это не получается:

someJSON["number1"]["date"] = "19.01.2017";

Это потому, что вы устанавливаете свойство на строковый примитив. Это временно продвигает строку, примитивную для объекта, устанавливает свойство, а затем выбрасывает объект, фактически ничего не делая.

Делать someJSON.number объект, создайте объект так же, как вы сделали для someJSON и добавить свойства к нему. Или вы можете сделать все сразу:

let obj = {
    number1: {
        date: "19.01.2017"
    }
};

Если ты хочешь "someString" где-то там, просто поместите его в другое свойство:

let obj = {
    number1: {
        str:  "someString",
        date: "19.01.2017"
    }
};

Вы должны сначала создать объект "number1". Обратите внимание, что вы не сможете установить строковое значение для "number1", поскольку оно теперь является объектом.

let someJSON = {};
someJSON["number1"] = {};
someJSON["number1"]["date"] = "19.01.2017";
Другие вопросы по тегам