Creating javascript object from array values
我正在尝试创建一个 javascript 对象,以便可以将其转换为 json 字符串,以便通过 php 更新 mysql 表。我是 javascript 中的对象和 json 的新手,所以我在网上学习了几个教程,但似乎仍然无法让它工作:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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); |
我似乎无法让上面的代码工作。我还尝试像这样添加报价标记:
1 2 3 4 5 6 | myObject[i] = { slideId :""" + idArray[i] +""", slideNo :""" + slideNo[i] +""", isPublish :""" + isPublished[i] +""", floatText :""" + floaText[i] }; |
但这似乎也不起作用。我做错了什么?
看起来您最近的编辑解决了其中一个问题:您需要在数组周围使用
接下来,您需要更改数组变量名称以匹配您在 for 循环中使用的名称。
最后,myObject 应该是一个数组,而不是一个对象,所以把它的
这是您的代码的更新版本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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); |
使用 JSON.stringify 将对象转换为 json 字符串
1 | alert(JSON.stringify(myObject[i])); |