使用jquery或javascript添加或更改JSON键的值

时间:2010-12-13 15:08:00

标签: javascript json jquery

我有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":""
}  

7 个答案:

答案 0 :(得分:36)

解码完JSON后,结果就是一个JavaScript对象。像对待任何其他对象一样操纵它。例如:

data.busNum = 12345;
...

答案 1 :(得分:18)

var temp = data.oldKey; // or data['oldKey']
data.newKey = temp;
delete data.oldKey;

答案 2 :(得分:4)

就像你对任何其他变量一样,你只需设置它

alert(data.ID);
data.ID = "bar";  //dot notation 
alert(data.ID);    
data.userID = 123456;
data["address"] = "123 some street"; //bracket notation

答案 3 :(得分:3)

似乎您的密钥保存在变量中。 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"
}

答案 4 :(得分:0)

data.userID = "10";

答案 5 :(得分:0)

var y_axis_name=[];

 for(var point in jsonData[0].data)
              { 
                y_axis_name.push(point);

              }

y_axis_name具有所有密钥名称

试试jsfiddle

答案 6 :(得分:0)

您只需像普通的 javascript 变量一样设置数据值 例如:

data["userID"] = 4; // or data.userID = 4