web-dev-qa-db-fra.com

Ajouter ou modifier une valeur de clé JSON avec jquery ou javascript

J'ai un JSONstring(?) que je suis revenu de $.ajax() et que je l'ai nommé data. Certaines des valeurs sont vides et je dois ajouter des valeurs à certaines des clés et les renvoyer à mon script PHP.

J'accède aux valeurs existantes par data.keyName. Comment ajouter ou modifier les valeurs de certaines clés dans "data"?

Voici à quoi ressemble 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":""
}  
17
JCam

Une fois que vous avez décodé le JSON, le résultat est un objet JavaScript. Il suffit de le manipuler comme n'importe quel autre objet. Par exemple:

data.busNum = 12345;
...
33
cdhowie
var temp = data.oldKey; // or data['oldKey']
data.newKey = temp;
delete data.oldKey;
18
sje397

Comme vous le feriez pour toute autre variable, vous venez de la définir

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

Il semble que votre clé soit enregistrée dans une variable. data.key = value ne fonctionnera pas. 

Vous devriez utiliser data[key] = value

Exemple:

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

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

console.log(data);

Résultat:

{
  "key1": "newV2",
  "key2": "v2",
  "mykey": "newv1"
}
3
dongjie
data.userID = "10";
0
scheffield
var y_axis_name=[];

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

              }

y_axis_name est d'avoir tout le nom de la clé

essayez jsfiddle

0
Gajender Singh