2015-01-26 13 views
9

Non posso accedere ai dati json da javascript. Per favore aiutami come accedere ai dati da dati json in javascript.come stampare dati json in console.log

Ho un dati JSON come

{"success":true,"input_data":{"quantity-row_122":"1","price-row_122":" 35.1 "}} 

Ho cercato console.log (dati), ma registro di stampa oggetto oggetto

success:function(data){ 
    console.log(data); 
} 

come stampare i dati console.log particolari? ho bisogno di stampare quantità-row_122 = 1 prezzo-row_122 = 35.1

+5

prova 'console.log (JSON.stringify (dati));' – chridam

+2

Usa JSON.stringify (dati) per convertirlo in stringa quindi prova a stampare. –

+2

4 risposte uguali entro 1 minuto, immagino che questa soluzione fosse ovvia: P – itd

risposta

5

Per produrre un oggetto alla console, è necessario stringa i all'oggetto prima:

success:function(data){ 
    console.log(JSON.stringify(data)); 
} 
15

console.log(JSON.stringify(data)) farà quello che ti serve . Suppongo che tu stia utilizzando jQuery in base al tuo codice.

Se desideri quei due valori particolari, puoi semplicemente accedervi e passarli a log.

console.log(data.input_data['quantity-row_122']); 
console.log(data.input_data['price-row_122']); 
+0

funziona bene ma il campo 'quantity-row_122' è generato dinamicamente e proviene da html form.so cosa possiamo fare? quindi voglio stampare come un array –

+1

Hai bisogno di citare questi 2 nomi di chiavi –

1

Se si desidera solo per stampare oggetto poi

console.log(JSON.stringify(data)); //this will convert json to string; 

Se si desidera accedere valore del campo in oggetto quindi utilizzare

console.log(data.input_data); 
9
{"success":true,"input_data":{"quantity-row_122":"1","price-row_122":" 35.1 "}} 

console.dir() farà quello che serve . Ti fornirà una struttura gerarchica dei dati.

success:function(data){ 
    console.dir(data); 
} 

in questo modo

> Object 
    > input_data: Object 
     price-row_122: " 35.1 " 
     quantity-row_122: "1" 
    success: true 

non credo che avete bisogno di console.log(JSON.stringify(data)).

Per ottenere i dati che si può fare questo senza stringify:

console.log(data.success); // true 
console.log(data.input_data['quantity-row_122']) // "1" 
console.log(data.input_data['price-row_122']) // " 35.1 " 

Nota

Il valore da input_data oggetto sarà typeof "1": String, ma è possibile convertire in number(Int or Float) usando parseInt o parseFloat , così:

typeof parseFloat(data.input_data['price-row_122'], 10) // "number" 
parseFloat(data.input_data['price-row_122'], 10) // 35.1 
0

Ho usato l'opzione '% j' in console.log stampare JSON oggetti

console.log("%j", jsonObj);