如何动态创建这种类型的JSON数组

时间:2014-06-27 19:57:24

标签: javascript arrays json

硬编码:

    var imageInfoCols = [{
        "location" : "https://dl.dropboxusercontent.com/u/42060851/ImageGrid/1.jpg",
        "title" : "Movie 1"
    }, {
        "location" : "https://dl.dropboxusercontent.com/u/42060851/ImageGrid/2.jpg",
        "title" : "Movie 2"
    }, {
        "location" : "https://dl.dropboxusercontent.com/u/42060851/ImageGrid/3.jpg",
        "title" : "Movie 3"
    }
];

每个项目都有两个属性,位置和标题。

我想创建一个具有两个属性的对象并将其推送到json数组。使用for循环执行此操作的最佳方法是什么?

干杯

2 个答案:

答案 0 :(得分:0)

使用此:

http://www.w3schools.com/js/js_arrays.asp

JSON只是指数据发送到服务器的格式。

所以只需像上面的链接那样构建你的数组然后这样做:

var serializedJson = JSON.stringify(imageInfoCols);

然后将serializedJson发送到您的服务器。

编辑:我想,数据的去向并不重要。 JSON只是一种将javascript对象转换为可以更容易存储或传输的字符串的方法。

答案 1 :(得分:0)

也许这会有所帮助:

var objectArray = [];
var field1 = 'location'; // dynamically set field name
var field2 = 'title'; // do same for second field
var length = 3;

for (var i = 0; i < length; i++) {
    object = {};

    // javascript object properties can be acccessed
    // and set dynamically with index notation
    object[field1] = 'https://dl.dropboxusercontent.com/u/42060851/ImageGrid/' + i + '.jpg';
    object[field2] = 'Movie ' + i;

    objectArray.push(object);
};
// json is the actual JSON string
var json = JSON.stringify(objectArray);

我正在动态设置键名,键值和javascript对象的数量。在javascript中,对象和哈希表是同一个。