我正在尝试创建一个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]
};
但这似乎也不起作用。我做错了什么?
答案 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]));