首页 > 编程语言 >JavaScript: stringify

JavaScript: stringify

时间:2022-09-05 22:22:26浏览次数:207  
标签:stringify obj name JavaScript score console null

 

const obj = {
    name: 'qwer',
    hobbies: ['op', 'nm'],
    year: 2022,
    fn: function () { },  // function ignore
    reg: new RegExp(),  // RegExp {}
    undefined: undefined,  // undefined ignore
    null: null,  // null
    nan: NaN,  // null
    infinity: Infinity,  // null
    'n-infinity': -Infinity,  // null
    date: new Date()  // 2022-09-05T13:24:48.358Z 
}

console.log(JSON.stringify(obj))

 

function Person(name) {
    this.name = name
}

Person.prototype.age = 55

p = new Person('qwer')
console.log(p);
console.log(JSON.stringify(p));  // 只处理对象自身属性

 

第二参数:

const obj = {
    name: 'qwer',
    hobbies: ['op', 'nm'],
    year: 2022,
    date: new Date()  // 2022-09-05T13:24:48.358Z 
}

console.log(JSON.stringify(obj, ['name', 'date']));

只序列化name & date

 

replacer:

const obj = [
    {
        name: 'aa',
        score: 100
    },
    {
        name: 'bb',
        score: 95
    },
    {
        'name': 'cc',
        score: 88
    },
    {
        'name': 'dd',
        score: 5
    }
]

function replacer(key, value) {
    if (key === 'score') {
        if (value >= 90) {
            return 'A'
        } else if (value >= 60) {
            return 'B'
        } else {
            return 'C'
        }
    }
    return value
}

console.log(JSON.stringify(obj, replacer));

 

pretty

 

const obj = [
    {
        name: 'aa',
        score: 100
    },
    {
        name: 'bb',
        score: 95
    },
    {
        'name': 'cc',
        score: 88
    },
    {
        'name': 'dd',
        score: 5
    }
]



console.log(JSON.stringify(obj, null, 2));

 

 toJSON:

const obj = {
    name: 'qwer',
    hobbies: ['op', 'nm'],
    year: 2022,
    toJSON:function(){
        return this.name+','+this.hobbies
    }
}

console.log(JSON.stringify(obj));

 

循环引用

const c={
    name:'qw'
}

c.cc=c

JSON.stringify(c)

 

标签:stringify,obj,name,JavaScript,score,console,null
From: https://www.cnblogs.com/dissipate/p/16659809.html

相关文章

  • JavaScript 特殊数字值 NaN
    NaN是唯一一个不和自身不相等的值,Array》prototype.indexOf使用了严格相等,因此不能通过该方法在数组中查找NaN:NaN===NaN//false[NaN].indexof(NaN);//false如......
  • 干货 | JavaScript脚本注入,完成Selenium 无法做到的那些事
    ⬇️点击“下方链接”,提升测试核心竞争力!>>更多技术文章分享和免费资料领取当webdriver遇到无法完成的操作时,可以使用JavaScript来完成,webdriver提供了execute_scr......
  • LeetCode 617 在 JavaScript 中合并两个二叉树
    LeetCode617在JavaScript中合并两个二叉树问题陈述给你两棵二叉树根1和根2.想象一下,当您将其中一个覆盖另一个时,两棵树的某些节点重叠,而其他节点则不重叠。您需......
  • import declarations are not supported by current JavaScript version
    Idea的js文件报错:ImportdeclarationsarenotsupportedbycurrentJavaScriptversion报这个错原因是,vue用的es6的语法,解决的话也很简单,只需要把idea的javaScript的版......
  • [javascript] 闭包问题
    闭包1.闭包的前置知识1.函数的执行上下文环境(Executioncontextoffunction)链接2.作用域(scope)在JavaScript中,对象和函数同样也是变量。在JavaScript中,......
  • [javascript]document的open() write() close()用法
    1、document.open()作用:打开一个新文档,即打开一个流,并擦除当前文档的内容。执行完后会打开一个空的html文档语法:document.open(mimetype,replace)参数:mimetype:可选。......
  • JavaScript日期处理类库-Moment.js
    JavaScript日期处理类库-Moment.js参考链接日期格式化moment().format('MMMMDoYYYY,h:mm:ssa');//九月5日2022,10:00:10上午moment().format('dddd');......
  • 动画标签 HTML CSS JavaScript
    动画标签HTMLCSSJavaScript动画标签HTMLCSSJavaScript免费下载HTML:<linkrel="样式表"href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1......
  • JavaScript-6 简介:属性、方法和内置对象
    JavaScript-6简介:属性、方法和内置对象特性当我们向JavaScript程序添加一条新数据时,浏览器会将其保存为该数据类型的一个实例。并且所有数据类型都可以访问传递给每个......
  • HTML、CSS 和 JavaScript 格式的 3D 玻璃天气图标
    HTML、CSS和JavaScript格式的3D玻璃天气图标3D玻璃天气图标免费下载****在HTML、CSS和JavaScript中HTML:<divclass="weatherweather--sun"><divclass......