1. ホーム
  2. javascript

[解決済み] Node JSでオブジェクトを印刷する方法

2022-03-11 17:13:53

質問

以下のコード(Node JS上で動作)では、外部APIから取得したオブジェクトを、以下の方法で表示しようとしています。 JSON.stringify というエラーになります。

TypeError: 循環構造をJSONに変換する

このトピックの質問を見ましたが、どれも役に立ちませんでした。どなたかご提案いただけないでしょうか。

a) どのようにすれば country の値を res オブジェクトを作成します。

b) どのようにしたら プリント を使用することができます。

  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}`);
  });

解決方法は?

を使用することで、http request クライアントは、JSONオブジェクトを印刷すると同時に country の値です。以下は、私が更新したコードです。

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
  }
});