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

J'ai une chaîne JSON (?) Que je suis revenue de $ .ajax () et l'ai nommé "données". Certaines des valeurs sont vides et j'ai besoin d'ajouter des valeurs à certaines des clés et de les renvoyer à mon script PHP.

J'habite les valeurs existantes par data.keyName. Comment puis-je ajouter ou modifier les valeurs de certaines clés dans "données"?

C'est ce que ressemble "données".

{"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":""} 

  • Comment puis-je obtenir une liste des différences entre deux graphiques d'objets JavaScript?
  • Comment désérialiser correctement une chaîne JSON dans la classe qui contient une liste imbriquée d'une autre classe
  • JqGrid avec les données JSON rend le tableau vide
  • JSON.parse analyse / convertit les gros nombres de manière incorrecte
  • JSON cru irresponsable: pourquoi si sérieux?
  • Convertissez un tableau associatif javascript en objet json en utilisant stringify et vice versa
  • Lecture d'un tableau encodé json en javascript
  • Comment puis-je utiliser le résultat de FB FQL multi-requêtes?
  • 6 Solutions collect form web for “Ajouter ou modifier une valeur de la clé JSON avec jquery ou javascript”

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

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

    Tout comme vous le feriez pour toute autre variable, vous l'avez simplement configuré

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

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

    Vous devez utiliser les 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" } 
     data.userID = "10"; 
     var y_axis_name=[]; for(var point in jsonData[0].data) { y_axis_name.push(point); } 

    Y_axis_name a tout le nom de la clé

    Essayez jsfiddle

    JavaScript rend le site Web intelligent, beauté et facile à utiliser.