使用jquery或javascript添加或更改JSON键的值
我有一个JSON
string(?)
,我从$.ajax()
返回并命名为data
。 有些值为空,我需要为某些键添加值并将其发送回我的PHP
脚本。
我通过data.keyName访问现有值。 如何在“数据”中添加或更改某些键的值?
这就是data
样子。
{ "ID":"48", "userID":"0", "address":"750 North High Street", "city":"Columbus", "state":"OH", "zip":"43215", "lat":"39.977673", "lng":"-83.003357", "busNumber":"55", "isClaimed":"N", "whereFound":"", "busNum":"", "email":"", "fname":"", "lname":"", "comments":"" }
解码完JSON后,结果就是一个JavaScript对象。 像对待任何其他对象一样操纵它。 例如:
data.busNum = 12345; ...
var temp = data.oldKey; // or data['oldKey'] data.newKey = temp; delete data.oldKey;
就像你对任何其他变量一样,你只需设置它
alert(data.ID); data.ID = "bar"; //dot notation alert(data.ID); data.userID = 123456; data["address"] = "123 some street"; //bracket notation
似乎您的密钥保存在变量中。 data.key = value
不起作用。
您应该使用data[key] = value
例:
data = {key1:'v1', key2:'v2'}; var mykey = 'key1'; data.mykey = 'newv1'; data[mykey] = 'newV2'; console.log(data);
结果:
{ "key1": "newV2", "key2": "v2", "mykey": "newv1" }
data.userID = "10";
var y_axis_name=[]; for(var point in jsonData[0].data) { y_axis_name.push(point); }
y_axis_name具有所有密钥名称
试试jsfiddle