zoukankan      html  css  js  c++  java
  • js的字面量对象和JSON的区别

    js的字面量对象和JSON的区别

    一、总结

    一句话总结:

    a、json对象是json字面量的子集
    b、json对象把key用双引号括起来
    c、json对象的value限定为数字、字符串、布尔值和NULL中的一种

    1、当js字面量对象中包含函数对象时,转换成json 再转换回来,会发生什么?

    函数被去掉了,因为json的value限定为数字、字符串、布尔值和NULL中的一种
    //js字面量方式创建对象,
    var zhuBaJie={
        name:'猪八戒',
        age:3,
        say:function () {
            console.log('我叫'+this.name+', 今年'+this.age+'岁。');
        }
    };
    console.log(zhuBaJie.name);
    zhuBaJie.say();
    
    console.log(JSON.stringify(zhuBaJie));//{"name":"猪八戒","age":3}
    console.log(JSON.parse(JSON.stringify(zhuBaJie)));

    二、js的字面量对象和JSON的区别

    转自或参考:javascript - js的字面量对象和JSON的区别 - SegmentFault 思否
    https://segmentfault.com/q/1010000006912979?_ea=1175183

    用JSON官网的表述,JSON( (JavaScript Object Notation))是JavaScript对象字面量的一个子集,是一种轻量的数据交换格式。

    在接口调用过程中所说的json数据往往不是指js的对象,而是指的json字符串。在js向服务器提交json格式的数据,实质是将js的对象转换成json字符串再放在http请求中进行传递。当接收到服务端响应的json格式的数据时,接收到的也是json字符串,底层会将json字符串转换成js的对象以便操作。

    其实json对象也是js对象的一种表现形式,或者说json是限定的js对象也行。说白了,无非就是把key用双引号括起来,value限定为数字、字符串、布尔值和NULL中的一种,再考虑下对象和数组嵌套情况的,比较特殊的js对象而已。所以转换什么的,框架顺便就弄了呗。

    2、当js字面量对象中包含函数对象时,转换成json 再转换回来,会发生什么

    函数被去掉了,因为json的value限定为数字、字符串、布尔值和NULL中的一种

        //js字面量方式创建对象,
        var zhuBaJie={
            name:'猪八戒',
            age:3,
            say:function () {
                console.log('我叫'+this.name+', 今年'+this.age+'岁。');
            }
        };
        console.log(zhuBaJie.name);
        zhuBaJie.say();
    
        console.log(JSON.stringify(zhuBaJie));
        console.log(JSON.parse(JSON.stringify(zhuBaJie)));

     
  • 相关阅读:
    【待补充】Spark 集群模式 && Spark Job 部署模式
    Spark 集群管理命令
    Spark job 部署模式
    [Spark Core] Spark 核心组件
    [Spark RDD_1] RDD 基本概念
    【读书笔记】《天才在左 疯子在右》
    [Spark Core] Spark 使用第三方 Jar 包的方式
    [Spark Core] 在 Spark 集群上运行程序
    【待补充】[Spark Core] Spark 实现标签生成
    Spark 集群搭建
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12595481.html
Copyright © 2011-2022 走看看