Đó không phải là JSON. Nó chỉ là các đối tượng Javascript, và không có gì để làm với JSON.
Bạn có thể sử dụng dấu ngoặc vuông để đặt thuộc tính động. Ví dụ:
var obj = {};
obj['name'] = value;
obj['anotherName'] = anotherValue;
này mang lại cho chính xác giống như tạo ra các đối tượng với một đối tượng theo nghĩa đen như thế này:
var obj = { name : value, anotherName : anotherValue };
Nếu bạn đã thêm đối tượng vào bộ sưu tập ips
, bạn sử dụng một cặp dấu ngoặc để truy cập đối tượng trong bộ sưu tập và một cặp khác để truy cập vào tính thích hợp trong đối tượng:
ips[ipId] = {};
ips[ipId]['name'] = value;
ips[ipId]['anotherName'] = anotherValue;
Lưu ý sự giống nhau với mã ở trên, nhưng y bạn chỉ đang sử dụng ips[ipId]
thay vì obj
.
Bạn cũng có thể nhận được một tham chiếu đến đối tượng trở lại từ bộ sưu tập, và sử dụng để truy cập vào các đối tượng trong khi nó vẫn còn trong bộ sưu tập:
ips[ipId] = {};
var obj = ips[ipId];
obj['name'] = value;
obj['anotherName'] = anotherValue;
Bạn có thể sử dụng các biến chuỗi để xác định tên của các thuộc tính:
var name = 'name';
obj[name] = value;
name = 'anotherName';
obj[name] = anotherValue;
đó là giá trị của biến (chuỗi) để xác định tài sản, vì vậy khi bạn sử dụng obj[name]
cho cả thuộc tính trong mã trên, đó là chuỗi trong biến tại thời điểm mà bạn truy cập vào nó mà xác định p roperty sẽ được truy cập.
Bạn cũng cần mã để tạo JSON cuối cùng phải không? – orangepips
có thể trùng lặp của [Sử dụng biến cho khóa đối tượng Javascript] (http://stackoverflow.com/questions/2274242/using-a-variable-for-a-javascript-object-key) – Bergi