2015-01-26 11 views
9

Nie mogę uzyskać dostępu do danych json z javascript. Proszę mi pomóc, jak uzyskać dostęp do danych z danych json w javascript.jak wydrukować dane json w console.log

Mam danych JSON jak

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

Próbowałem console.log (dane), ale zalogować wydruku obiektu Object

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

jak drukować console.log szczególności dane? muszę wydrukować ilość-row_122 = 1 Price-row_122 = 35,1

+5

try 'console.log (JSON.stringify (dane));' – chridam

+2

Zastosowanie JSON.stringify (dane), aby przekształcić go w ciąg ang następnie spróbuj wydrukować. –

+2

4 takie same odpowiedzi w ciągu 1 minuty, myślę, że to rozwiązanie było oczywiste: P – itd

Odpowiedz

5

Do wyjścia obiektu do konsoli, trzeba stringify przedmiotu pierwszy:

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

console.log(JSON.stringify(data)) zrobi co trzeba . Zakładam, że używasz jQuery w oparciu o twój kod.

Jeśli chcesz uzyskać te dwie konkretne wartości, możesz po prostu uzyskać do nich dostęp i przekazać je pod numer log.

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

działa to dobrze, ale pole "quantity-row_122" jest generowane dynamicznie i pochodzi z html form.so co możemy zrobić? więc chcę wydrukować jako tablicę –

+1

Trzeba zacytować te 2 kluczowe nazwy –

1

Jeśli chcesz po prostu wydrukować obiektu następnie

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

Jeśli chcesz uzyskać dostęp do wartości pola w obiekcie następnie użyć

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

console.dir() zrobi co trzeba . Da ci to hierarchiczną strukturę danych.

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

jak tak

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

Nie sądzę, trzeba console.log(JSON.stringify(data)).

Aby uzyskać dane można to zrobić bez 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 " 

Uwaga

Wartość z input_data obiekt zostanie typeof "1": String, ale można przekonwertować do number(Int or Float) użyciu parseInt lub parseFloat , tak:

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

użyłem opcji '% J' w console.log wydrukować JSON obiektów

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