Это не JSON. Это просто объекты Javascript, и они не имеют ничего общего с JSON.
Вы можете использовать скобки для динамической установки свойств. Пример:
var obj = {};
obj['name'] = value;
obj['anotherName'] = anotherValue;
Это дает то же самое, что и создание объекта с литералом объекта следующим образом:
var obj = { name : value, anotherName : anotherValue };
Если вы уже добавили объект в коллекцию ips
, вы используете одну пару скобок для доступа к объекту в коллекции и другую пару для доступа к свойству объекта:
ips[ipId] = {};
ips[ipId]['name'] = value;
ips[ipId]['anotherName'] = anotherValue;
Обратите внимание на сходство с кодом выше, но вы просто используете ips[ipId]
вместо obj
.
Вы также можете получить ссылку на объект обратно из коллекции и использовать ее для доступа к объекту, пока он остается в коллекции:
ips[ipId] = {};
var obj = ips[ipId];
obj['name'] = value;
obj['anotherName'] = anotherValue;
Вы можете использовать строковые переменные для указания имен свойств:
var name = 'name';
obj[name] = value;
name = 'anotherName';
obj[name] = anotherValue;
Это значение переменной (строки), которая идентифицирует свойство, поэтому, пока вы используете obj[name]
для обоих свойств в приведенном выше коде, это строка в переменной в момент доступа к ней, которая определяет, какое свойство будет быть доступным.