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

JCa*_*Cam 19 javascript jquery 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":""
}  
Run Code Online (Sandbox Code Playgroud)

cdh*_*wie 37

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

data.busNum = 12345;
...
Run Code Online (Sandbox Code Playgroud)


sje*_*397 20

var temp = data.oldKey; // or data['oldKey']
data.newKey = temp;
delete data.oldKey;
Run Code Online (Sandbox Code Playgroud)


don*_*jie 8

看来您的密钥是否保存在变量中。data.key = value不会工作。

你应该使用 data[key] = value

例子:

data = {key1:'v1', key2:'v2'};

var mykey = 'key1'; 
data.mykey = 'newv1';
data[mykey] = 'newV2';

console.log(data);
Run Code Online (Sandbox Code Playgroud)

结果:

{
  "key1": "newV2",
  "key2": "v2",
  "mykey": "newv1"
}
Run Code Online (Sandbox Code Playgroud)