【问题标题】:How to print an object as JSON to console in Angular2?如何将对象作为 JSON 打印到 Angular2 中的控制台?
【发布时间】:2016-12-27 02:08:05
【问题描述】:

我正在使用一项服务将我的表单数据加载到我的 angular2 应用程序中的一个数组中。 数据是这样存储的:

arr = []
arr.push({title:name})

当我执行console.log(arr) 时,它显示为对象。我需要的是看到它 作为[ { 'title':name } ]。我怎样才能做到这一点?

【问题讨论】:

  • 试试console.log(JSON.stringify(arr))

标签: json angular typescript


【解决方案1】:

你可以在下面使用,

  JSON.stringify({ data: arr}, null, 4);

这将很好地使用缩进格式化您的数据。

【讨论】:

  • @Bijithkomalan 非常感谢您感谢 Madhu;如果答案对您有用,请选择并投票
  • 很好,谢谢。这是我希望能够找到但不知道在哪里寻找的简单解决方案。更好的是 console.log(JSON.stringify(arr)) 如果您不需要格式化并且只想查看如何将对象传递到 REST 端点等。
【解决方案2】:

打印出可读信息。你可以使用console.table(),它比 JSON 更容易阅读:

console.table(data);

这个函数接受一个强制参数数据,它必须是一个数组或一个对象,以及一个额外的可选参数列。

它将数据记录为表格。数组中的每个元素(如果数据是对象,则为可枚举属性)将是表中的一行

示例:

【讨论】:

  • 虽然这确实有效,但我看不出它回答了 OP 的问题。
  • 直到console.table(x)。看起来不错!
【解决方案3】:

首先使用.parse() 方法将您的JSON 字符串转换为对象,然后您可以使用console.table('parsed sring goes here') 在控制台中打印它。

例如

const data = JSON.parse(jsonString);
console.table(data);

【讨论】:

    【解决方案4】:

    请尝试在 HTML 文件中使用 JSON 管道运算符。由于 JSON 信息仅用于调试目的,因此此方法适合我。示例如下:

    <p>{{arr | json}}</p>
    

    【讨论】:

      【解决方案5】:

      您可以分别记录数组的每个元素

      arr.forEach(function(e){console.log(e)});
      

      由于您的数组只有一个元素,因此这与记录 {'title':name} 相同

      【讨论】:

      • 使用 JSON.stringify() 可以获得相同结果的最大努力
      【解决方案6】:

      您可以打印任何对象

      console.log(this.anyObject);
      

      当你写作时

      console.log('any object' + this.anyObject);
      

      这将打印出来

      any object [object Object]
      

      【讨论】:

      • 这正是 OP 所说的他们不想想要做的事情。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-16
      • 1970-01-01
      • 2017-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多