从数组值创建javascript对象

时间:2014-04-30 22:41:46

标签: javascript json

我正在尝试创建一个javascript对象,以便我可以将其转换为json字符串,以便通过php更新mysql表。我是javascript中的对象和json的新手,因此我在网上关注了几个教程,但似乎仍无法让它工作:

var idArray =      [ 1, 2, 3];
var slideNo =      [ 1, 2, 3];
var isPublished =  [ 0, 1, 0];
var floaText =     [ 1, 0 , 1];

var myObject = [];

for(var i = 0; i < idArray.length; i++) {
    myObject[i] = {
        slideId : idArray[i],
        slideNo : slideNo [i],
        isPublished : isPublished [i],
        floatText : floaText [i]
    };
}

alert(myObject[0].slideId);

我似乎无法获得上述代码。我还尝试添加这样的qukation makrs:

myObject[i] = {
    slideId : "\"" + idArray[i] + "\"",
    slideNo : "\"" + slideNo[i] + "\"",
    isPublish : "\"" + isPublished[i] + "\"",
    floatText : "\"" + floaText[i]
};

但这似乎也不起作用。我做错了什么?

2 个答案:

答案 0 :(得分:2)

您最近的修改似乎解决了其中一个问题:您的阵列周围需要[],而不是{}

接下来,您需要更改数组变量名称以匹配for循环中使用的名称。

最后,myObject可能应该是一个数组,而不是一个对象,因此将其{}更改为[]

以下是您的代码的更新版本:

var idArray =         [ 1, 2, 3];
var slideArray =      [ 1, 2, 3];
var publishArray =    [ 0, 1, 0];
var floatArray =      [ 1, 0 , 1];

var myObject = [];

for(var i = 0; i < idArray.length; i++) {
    myObject[i] = {
        slideId : idArray[i],
        slideNo : slideArray[i],
        isPublished : publishArray[i],
        floatText : floatArray[i]
    };
}

alert(myObject[0].slideId);

答案 1 :(得分:0)

使用JSON.stringify将对象转换为json字符串

alert(JSON.stringify(myObject[i]));