gpt4 book ai didi

javascript - 如何在 Node JS 中打印对象

转载 作者:搜寻专家 更新时间:2023-10-31 22:55:44 24 4
gpt4 key购买 nike

在下面的代码中(在 Node JS 上运行)我试图使用 JSON.stringify 打印从外部 API 获得的对象,这会导致错误:

TypeError: Converting circular structure to JSON

我已经查看了有关此主题的问题,但没有任何帮助。有人可以建议吗:

a) 如何从 res 对象中获取 country 值?

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

最佳答案

基本 console.log 不会遍历又长又复杂的对象,可能决定只打印 [Object]

在 node.js 中防止这种情况的一个好方法是使用 util.inspect:

'use strict';
const util = require('util'),
obj = /*Long and complex object*/;

console.log(util.inspect(obj, {depth: null}));
//depth: null tell util.inspect to open everything until it get to a circular reference, the result can be quite long however.

编辑:在紧要关头(例如在 REPL 中),第二个选项是 JSON.stringify。不需要 require 它,但它会在循环引用时中断,而不是打印存在引用的事实。

关于javascript - 如何在 Node JS 中打印对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38768567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com