In the below code (running on Node JS) I am trying to print an object obtained from an external API using JSON.stringify
which results in an error:
TypeError: Converting circular structure to JSON
I have looked at the questions on this topic, but none could help. Could some one please suggest:
a) How I could obtain country
value from the res
object ?
b) How I could print the entire object itself ?
http.get('http://ip-api.com/json', (res) => { console.log(`Got response: ${res.statusCode}`); console.log(res.country) // *** Results in Undefined console.log(JSON.stringify(res)); // *** Resulting in a TypeError: Converting circular structure to JSON res.resume(); }).on('error', (e) => { console.log(`Got error: ${e.message}`); });
Advertisement
Answer
By using the http request
client, I am able to print the JSON object as well as print the country
value. Below is my updated code.
var request = require('request'); request('http://ip-api.com/json', function (error, response, body) { if (!error && response.statusCode == 200) { console.log(response.body); // Prints the JSON object var object = JSON.parse(body); console.log(object['country']) // Prints the country value from the JSON object } });