Reputation: 3311
How to parse json?
var text = '{"body":[
{"name":"name","value":"test1"},
{"name":"inquiry_type","value":"test2"}
]}';
console.log(text);
var obj = JSON.parse(text.body);
cosole.log (obj);
Here obj console displaying error.
Upvotes: 0
Views: 114
Reputation: 4354
You're supposed to extract body
after you parse your JSON, not before.
var text = `{"body":[
{"name":"name","value":"test1"},
{"name":"inquiry_type","value":"test2"}
]}`;
var obj = JSON.parse(text).body;
console.log(obj) //note that you misspelled this too
Upvotes: 3
Reputation: 2026
Your variable text
is a multiline string you must use template string :
var text = `{"body":[
{"name":"name","value":"test1"},
{"name":"inquiry_type","value":"test2"}
]}`;
or write it in single line :
var text = '{"body":[{"name":"name","value":"test1"},{"name":"inquiry_type","value":"test2"}]}';
And you must save the parsed text in a variable like that :
var text = '{"body":[{"name":"name","value":"test1"},{"name":"inquiry_type","value":"test2"}]}';
text = JSON.parse(text);
console.log(text);
var obj = text.body;
console.log(obj);
Upvotes: 1
Reputation: 22574
For multiline statements, use template literals. Your JSON string is text, once you parse it you will get an object on which you can access body
property using dot notation or bracket notation.
var text = `{"body":[
{"name":"name","value":"test1"},
{"name":"inquiry_type","value":"test2"}
]}`;
console.log(text);
var obj = JSON.parse(text).body;
console.log (obj);
Upvotes: 2
Reputation: 887887
JSON.parse()
takes a string of JSON and parses it, as the name suggests.
You have an array, not a string of JSON, so you don't need to do anything.
Upvotes: -3