簡體   English   中英

使用 jQuery 或 JavaScript 添加或更改 JSON 鍵的值

[英]Add or change a value of JSON key with jQuery or JavaScript

我有一個從$.ajax()返回的JSON string(?) $.ajax()並將其命名為data 一些值是空的,我需要為一些鍵添加值並將其發送回我的 PHP 腳本。

我通過data.keyName訪問現有值。 如何添加或更改data中某些鍵的值?

這就是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;

看來您的密鑰是否保存在變量中。 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"
}

就像您對任何其他變量所做的一樣,您只需設置它

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

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

              }

y_axis_name 具有所有鍵名

試試jsfiddle

data.userID = "10";

您只需像普通的 javascript 變量 Ex 一樣設置數據值:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM