使用jQuery或JavaScript添加或更改JSON键的值
我有一个从使用jQuery或JavaScript添加或更改JSON键的值,javascript,json,jquery,Javascript,Json,Jquery,我有一个从$.ajax()返回的JSON字符串(?),并将其命名为data。一些值是空的,我需要向一些键添加值并将其发送回我的PHP脚本 我通过data.keyName访问现有值。如何在数据中添加或更改某些键的值 这就是数据的样子 { "ID":"48", "userID":"0", "address":"750 North High Street",
$.ajax()
返回的JSON
字符串(?)
,并将其命名为data
。一些值是空的,我需要向一些键添加值并将其发送回我的PHP脚本
我通过data.keyName
访问现有值。如何在数据中添加或更改某些键的值
这就是数据的样子
{
"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;
...
就像其他变量一样,只需设置它
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"
}
y_轴_名称包含所有键名称
尝试如果您使用data.keyName
访问值,则不再具有JSON字符串。您有一个JavaScript对象。JSON已经为您解析为一个对象。谢谢您的解释,Ates。我很困惑为什么我不试试。。。谢谢如果userID作为密钥存在,则此答案将复制它。
data = {key1:'v1', key2:'v2'};
var mykey = 'key1';
data.mykey = 'newv1';
data[mykey] = 'newV2';
console.log(data);
{
"key1": "newV2",
"key2": "v2",
"mykey": "newv1"
}
var y_axis_name=[];
for(var point in jsonData[0].data)
{
y_axis_name.push(point);
}