2012-12-22 22 views
16

ho una variabile JSON come questocome aggiungere chiave e un valore a una JSON utilizzando JavaScript o jQuery

var jsondata={"all":"true"} 

voglio spingere un altro tasto e valore al jsondata. dopodiché la mia jsondata deve essere così.

{"all":"true","FDamount":"false","DDamount":"true"} 

come fare ??? ho provato jsondata.push ({"FDamount": "false"}) e jsondata.push ("FDamount: false"). entrambi questi metodi non funzionano.

ringraziamento

+1

Lei non sembra utilizzare JSON da qualche parte? Questi sono solo semplici oggetti letterali (e nessun array, btw) – Bergi

risposta

19

Ti piace questa

jsondata.FDamount = 'false'; 
// or 
jsondata['FDamount'] = 'false'; 
7

fare semplicemente questo:

jsondata['FDamount'] = 'false'; 
jsondata['DDamount'] = 'true'; 

O questo:

jsondata.FDamount = 'false'; 
jsondata.DDamount = 'true'; 

Tra l'altro, si definisce booleano come stringa, il modo corretto dovrebbe essere:

jsondata['FDamount'] = false; 
jsondata['DDamount'] = true; 

Per spingere un po 'più, è possibile utilizzare jQuery.extend per estendere la var originale, in questo modo:

jQuery.extend(jsondata, {'FDamount': 'false', 'DDamount': 'true'}); 
// Now, jsondata will be : 
{"all":"true","FDamount":"false","DDamount":"true"} 

jQuery.extend è disponibile quando si utilizza jQuery (ovviamente), ma sono sicuro che si può trovare metodi simili in altri biblioteche/quadri.

(sto usando apici, ma doppi apici funziona troppo)

+0

Come posso farlo per ogni elemento? Ho bisogno di aggiungere nuove chiavi e valori per ogni elemento. –

+0

Cosa intendi per "ogni elemento"? –

+0

"Ogni elemento" è ogni elemento quando si analizza un oggetto a cui Json Data può vedere gli elementi. Voglio aggiungere una chiave con valore per ogni elemento nella tua struttura Json. –

Problemi correlati