web-dev-qa-db-fra.com

comment ajouter une paire de valeur de clé dans l'objet JSON déjà déclaré

J'ai déclaré un objet JSON et ajouté une paire de valeurs de clé comme suit:

var obj  = {};

et ajouté quelques données comme:

obj = {
"1":"aa",
"2":"bb"
};

Mais je veux ajouter plus de paire de valeur de clé dans le même objet, si j'ajoute la paire de valeur de clé identique à celle mentionnée ci-dessus, elle remplace l'ancien. Pourriez-vous donc me dire comment je peux ajouter des données dans le même objet JSON, c.-à-d. Obj.

15
MaxSteel

Pourriez-vous faire ce qui suit:

obj = {
    "1":"aa",
    "2":"bb"
};


var newNum = "3";
var newVal = "cc";


obj[newNum] = newVal;



alert(obj["3"]); // this would alert 'cc'
30
scgough

Vous pouvez utiliser la notation par points ou par crochets ...

var obj = {};
obj = {
  "1": "aa",
  "2": "bb"
};

obj.another = "valuehere";
obj["3"] = "cc";
8
rfornal

Vous pouvez ajouter plusieurs paires de valeurs de clé dans le même objet sans remplacer les anciennes de la manière suivante:

var obj = {};

obj = {
"1": "aa",
"2": "bb"
};

obj["3"] = "cc";

Vous trouverez ci-dessous le code et le lien jsfiddle vers un exemple de démonstration qui ajoutera plus de paires de valeurs de clé à l’obj déjà existant en cliquant sur le bouton:

var obj = {
    "1": "aa",
    "2": "bb"
};

var noOfItems = Object.keys(obj).length;

$('#btnAddProperty').on('click', function() {
    noOfItems++;
    obj[noOfItems] = $.trim($('#txtName').val());
    console.log(obj);
});

https://jsfiddle.net/shrawanlakhe/78yd9a8L/4/

2
shrawan_lakhe

Salut j'ajoute la clé et la valeur à chaque objet 

let persons = [
  {
    name : "John Doe Sr",
    age: 30
  },{
    name: "John Doe Jr",
    age : 5
  }
]

function addKeyValue(obj, key, data){
  obj[key] = data;
}
 

let newinfo = persons.map(function(person) {
  return addKeyValue(person, 'newKey', 'newValue');
});

console.log(persons);

1
Manish

duplicata possible, meilleure façon d'atteindre les objectifs indiqués ci-dessous:

function getKey(key) {
  return `${key}`;
}

var obj = {key1: "value1", key2: "value2", [getKey('key3')]: "value3"};

https://stackoverflow.com/a/47405116/3510511

0
sgajera

S'il vous plaît essayez de suivre les opérations simples sur un JSON, insérez/mise à jour/Push:

var movie_json = {
                    "id": 100,
                 };

//to insert new key/value to movie_json
movie_json['name'] = 'Harry Potter';
console.log("new key: " + movie_json);

//to update a key/value in movie_json
movie_json['id'] = 101;
console.log("updated key: " +movie_json);

//adding a json array to movie_json and Push a new item.
movie_json['movies']=["The Philosopher's Stone"];
movie_json['movies'].Push('The Chamber of Secrets');
console.log(movie_json);
0
Harendra Kr. Jadon