I cant access json data from javascript. Please help me how to access data from json data in javascript.
i have a json data like
{"success":true,"input_data":{"quantity-row_122":"1","price-row_122":" 35.1 "}}
i have tried console.log(data) but log print object object
success:function(data){
console.log(data);
}
how to print console.log particular data? i need to print quantity-row_122 = 1 price-row_122 = 35.1
This question is related to
javascript
arrays
json
I used '%j' option in console.log to print JSON objects
console.log("%j", jsonObj);
If you just want to print object then
console.log(JSON.stringify(data)); //this will convert json to string;
If you want to access value of field in object then use
console.log(data.input_data);
You can also use util
library:
const util = require("util")
> myObject = {1:2, 3:{5:{6:{7:8}}}}
{ '1': 2, '3': { '5': { '6': [Object] } } }
> util.inspect(myObject, {showHidden: true, depth: null})
"{\n '1': 2,\n '3': { '5': { '6': { '7': 8 } } }\n}"
> JSON.stringify(myObject)
'{"1":2,"3":{"5":{"6":{"7":8}}}}'
original source : https://stackoverflow.com/a/10729284/8556340
This is an old post but I'm chiming in because (as Narem briefly mentioned) a few of the printf-like features are available with the console.log
formatters. In the case of the question, you can benefit from the string, number or json formatters for your data.
Examples:
console.log("Quantity %s, Price: %d", data.quantity-row_122, data.price-row_122);
console.log("Quantity and Price Data %j", data);
Object
input_data: Object price-row_122: " 35.1 " quantity-row_122: "1" success: true
To output an object to the console, you have to stringify the object first:
success:function(data){
console.log(JSON.stringify(data));
}
console.log(JSON.stringify(data))
will do what you need. I'm assuming that you're using jQuery based on your code.
If you're wanting those two particular values, you can just access those and pass them to log
.
console.log(data.input_data['quantity-row_122']);
console.log(data.input_data['price-row_122']);
{"success":true,"input_data":{"quantity-row_122":"1","price-row_122":" 35.1 "}}
console.dir()
will do what you need. It will give you a hierarchical structure of the data.
success:function(data){
console.dir(data);
}
like so
> Object
> input_data: Object
price-row_122: " 35.1 "
quantity-row_122: "1"
success: true
I don't think you need console.log(JSON.stringify(data))
.
To get the data you can do this without 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 "
Note
The value from input_data
Object will be typeof "1"
: String
, but you can convert to number(Int or Float)
using ParseInt or ParseFloat, like so:
typeof parseFloat(data.input_data['price-row_122'], 10) // "number"
parseFloat(data.input_data['price-row_122'], 10) // 35.1
Source: Stackoverflow.com