如何将值分配给JSON对象
问题描述:
我有以下代码不起作用。我试图将文本“约翰”推到对象的末尾。我更熟悉PHP,并且这在PHP中起作用。如何将值分配给JSON对象
var data = {};
var field_name = "first_name";
data[field_name]['answers'][] = "John";
alert(data['first_name']['answers'][0]);
编辑:
我也试过以下,并没有奏效。
var data = {};
var field_name = "first_name";
var i=0;
data[field_name]['answers'][i] = "John";
alert(data['first_name']['answers'][0]);
答
尝试:
var data = {};
var field_name = "first_name";
data[field_name] = {};
data[field_name].answers = [];
data[field_name].answers.push("John");
alert(data['first_name'].answers[0]);
答
人们不能任意地限定多个阵列维度或动态地扩展,如PHP边界将愉快地允许。你需要做这样的事情(简写[]符号也可以代替新的Array()我只是喜欢这种方式使用。):
var data = {};
var field_name = "first_name";
//Create the new dimensions
data[field_name] = new Array();
data[field_name]['answers'] = new Array();
//Push the new element
data[field_name]['answers'].push("John");
alert(data['first_name']['answers'][0]);
+0
删除var data = new Array()应该是var data = {}和data [field_name] = new Array(); 应该是data [field_name] = {}和 data [field_name] ['answers'] = new Array(); 应该是数据[field_name] ['answers'] = []; – mplungjan 2012-04-12 16:38:28
那不是出于某种原因的工作。我完全按照写法测试了您的代码。 – Stephen305 2012-04-12 16:29:26
添加另一条线请再试 – 2012-04-12 16:34:24
答案需要在对象第一:http://jsfiddle.net/mplungjan/EVsM2/ 变种dataObj = { “first_name的”:{ “答案”:[ “约翰”] } } – mplungjan 2012-04-12 16:36:06