• 【JSON和JS对象的区别】


    问题:当我们往后台发送请求,你知道我们发送的结构是什么吗?JSON结构体

    JSON官方解释:

    JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。它基于 ECMAScript(European Computer Manufacturers Association, 欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

    JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,传递这串字符串比传递一大组数据轻松得多,在需要的时候再将它还原为支持的数据格式。JSON 是序列化的对象或数组,它是 JS 对象的字符串表示方法,也就是说,JSON本质上是一个字符串。JSON以键值对 (key, value) 的形式存在,其中:

    • JSON的 key 必须用 “” (双引号)包起来
    • JSON的 value 不可以为 function/undifined/NaN
    • 数据结尾不允许出现无意义的 ,
      按照最简单的形式,可以用下面这样的 JSON 表示 “名称 / 值对” :{ “firstName”: “Brett” }

    JS对象

    JavaScript 中的所有事物都是对象:字符串、数值、数组、函数…。对象只是一种特殊的数据。对象拥有属性和方法。
    通过 JavaScript,能够定义并创建自己的对象。
    创建新对象有两种不同的方法:

    • 使用 Object 定义并创建对象的实例。
    • 使用函数来定义对象,然后创建新的对象实例。
    person=new Object();
    person.firstname="John";
    person.lastname="Doe";
    person.age=50;
    person.eyecolor="blue";
    
    • 1
    • 2
    • 3
    • 4
    • 5

    也可以使用对象字面量来创建对象,语法格式如下:

    { name1 : value1, name2 : value2,…nameN : valueN }

    person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};
    
    • 1

    补充一个知识点:
    new 和不 new的区别:

    • 如果 new 了函数内的 this 会指向当前这个 person 并且就算函数内部不 return 也会返回一个对象。
    • 如果不 new 的话函数内的 this 指向的是 window。
    function person(firstname,lastname,age,eyecolor)
    {
        this.firstname=firstname;
        this.lastname=lastname;
        this.age=age;
        this.eyecolor=eyecolor;
        return [this.firstname,this.lastname,this.age,this.eyecolor,this] 
    }
    
    var myFather=new person("John","Doe",50,"blue");
    var myMother=person("Sally","Rally",48,"green");
    console.log(myFather) // this 输出一个 person 对象
    console.log(myMother) // this 输出 window 对象
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    JSON 与 JS 对象的转换

    • 从 JSON 转为 JS 对象:使用 JSON.parse() 方法
    • 从 JS 对象转为 JSON:使用 JSON.stringify() 方法

    js对象转json 字符串:json = JSON.stringify(js);

    let obj = {
        a: 'hello',
        b: 'world'
    }
    let json = JSON.stringify(obj);
    console.log(json); // {"a":"hello","b":"world"}
    console.log(typeof json); // string 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    json字符串转成js对象js = JSON.parse(json);

    let json = '{"a":"hello","b":"world"}';
    let obj = JSON.parse(json);
    console.log(obj); // { a: 'hello', b: 'world' }
    
    • 1
    • 2
    • 3

    总结:

    区别JSONJavaScript对象
    含义仅仅是一种数据格式表示类的实例
    传输可以跨平台数据传输不能传输
    变现键值对方式,键必须加双引号,值不能是方法函数,不能是undefined/NAN键值对方式,键不加引号,值可以是函数、对象、字符串、数字、boolean 等
  • 相关阅读:
    java计算机毕业设计高校教师个人信息管理系统MyBatis+系统+LW文档+源码+调试部署
    Codeforces Round #814 (Div. 2)(A~D)
    jupyter中pip安装包会安装到别的环境。
    【C++】面向对象的理解
    odoo 开发入门教程系列-模块交互
    粉色卡通小学班干部竞选自我介绍PPT模板
    解决跨域问题的方法 --- CORS
    OpenCV显示中文(python)
    ubuntu实现定时重启
    ATFX汇市:瑞士央行连续第二次降息,USDCHF猛涨
  • 原文地址:https://blog.csdn.net/qq_40992225/article/details/126325635