Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Send object from node.js to ejs, not [object Object]

If you use node.js and ejs and render JavaScript object to ejs, the resultant HTML page has the following syntax:

[object Object]

despite the fact that my object is as follows:

[{"a": 3, "b": 10}, {"c":3, "d":20}, {"e":1, "f":55}]

However, I want to render the object itself (object literal if I understand it correctly), not the useless [object Object].

So how can I render it properly? res.render("index", {result: listOfObject.valueOf()}) didn't work.

like image 657
Blaszard Avatar asked Jul 02 '26 13:07

Blaszard


1 Answers

[object Object] is what you get when you call .toString() on an anonymous object. This is implicitly done when you concatenate with another string (e.g. "my object: " + {a:'b'}).

If you want to get the output you're looking for, you need to use

JSON.stringify(yourObjectHere)

Which prints it all out nicely.

like image 72
Ed_ Avatar answered Jul 05 '26 01:07

Ed_