怎样在控制台将JS class实例输出为JSON格式
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,怎样在控制台将JS class实例输出为JSON格式,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。有一个类:class
千家信息网最后更新 2025年02月02日怎样在控制台将JS class实例输出为JSON格式
怎样在控制台将JS class实例输出为JSON格式,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
有一个类:
class Point { constructor(x, y) { this.x = x; this.y = y; }}
如果我们在控制台中输出其实例:
console.log(new Point(10, 20));
控制台中的输出结果为:
Point { x: 10, y: 20 }
那如何只输出JSON格式,不输出类名"Point"呢?
有的同学可能会使用如下的方法:
console.log(JSON.stringify(new Point(10, 20)))
这种方法当然是可以的,其输出结果如下:
{"x":10,"y":20}
但我们每次输出的时候,都需要调用一次JSON.stringify,显得有些啰嗦。
有没有一种更简洁的办法呢?
答案是肯定的。
实际上,如果你使用的是nodejs,console.log输出类对象时,是调用的inspect函数来序列化并打印输出对象的。
而在node中有一种自定义对象inspection函数的办法。
在6.6.0以上版本中,你可以重写类的[util.inspect.custom](depth, options)函数。
const util = require('util');class Point { constructor(x, y) { this.x = x; this.y = y; } toString() { const that = this; return JSON.stringify(that); } [util.inspect.custom](depth, options) { return this.toString() }}
8.x版本的文档说明:https://nodejs.org/docs/latest-v8.x/api/util.html
在node v10.12.0以上版本中,使用了Symbol,并可以重写[inspect]()函数。
const inspect = Symbol.for('nodejs.util.inspect.custom');class Point { constructor(x, y) { this.x = x; this.y = y; } toString() { const that = this; return JSON.stringify(that); } [inspect]() { return this.toString() }}console.log(new Point(10, 20));
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
输出
函数
控制台
控制
对象
版本
实例
格式
办法
方法
结果
帮助
清楚
简洁
内容
同学
实际
实际上
对此
序列
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
我的世界3d武器服务器
方舟生存进化服务器的网址
网络安全知识答题题库人人网
计算机二级网络技术试题库
承德市网络安全工程师招聘
我的世界服务器1.1.0
茂名服务器除尘设备
数据库怎么用gbk
温州传奇服务器租赁
软件开发逻辑思维怎么锻炼
跟你学软件开发
山东哪些本科大学有网络技术专业
长沙物流软件开发教程
csgo社区服务器不稳定代码
惠州金融软件开发报价
浪潮软件服务器管理员口令
酷鱼联盟网络技术
遵化正规软件开发
数据库学生与老师对应关系图
网络图绘制软件开发
网络安全保障体系建设论坛
现在汽车采用了哪些网络技术
w7网络安全模式能玩游戏吗
穿越火线打排位显示服务器满
软件开发现地化
设计数据库的实验
数据库学习方法
金蝶云星空两个应用服务器
bv网络技术
两会期间网络安全形势