json对象和js对象

1.对象的定义

在JavaScript中对象是一组元素的相关属性和方法的集合,所有的事物都是对象,例如:日期,字符串,数字,数组,布尔,函数等。

 为什么要使用对象?
          人的信息:身高,体重,年龄,
          var arr = [180,89,90]   用数组存储信息不合适,就有了对象
  万物皆对象
      Array:属性:length
            方法:push()
      String:
           属性:length  
           方法:split()   
var obj={
        name:"zs"
        age: 18,
        name: "张三",
        sleep: function () {------------------方法
            console.log("我爱睡觉~")
        },
        eat: function () {
            console.log("你爱吃~")
        }
    }
    //属性的访问:obj.height
    //方法的访问:obj.sleep()
2.对象的增删改查
 点语法
              obj.属性= 属性值   (obj不存在改属性)
              obj.属性= 属性值   (obj存在改属性)
              delete  obj.属性   删除
              consloe.log(obj)[]语法
              obj["属性"]= 属性值   (obj不存在改属性)
              obj["属性"]= 属性值   (obj存在改属性)
              delete  obj["属性"]   删除
              consloe.log(obj)       查  
              obj[key】-----如果是变量就不用加引号
3.点语法和[ ]语法区别
 var obj = { "name": "张三", "age": "18" };-------要加上引号
 var x = "name";
 console.log(obj[x]);//[]语法    支持变量,只要变量的值是对象中的键就ok

 console.log(obj.x); // .语法   只能访问对象中存在的键,如果访问对象不存在的键,出来的结果是undefined
4.JSON对象

JSON 是序列化的对象或数组,它是 JS 对象的字符串表示方法,也就是说,JSON本质上是一个字符串。JSON以键值对 的形式存在

 JSON对象
      var obj={
        "name":"张三",
        "age":18
      }
备注:
   1.只有属性,没有方法
   2.键名必须加上双引号
   3.JSON的 value 不可以为 function/undifined/NaN
   4.最后一个值后面不能加逗号
   2.前后端传输数据的一种格式,有json字符串和json对象格式
   
for(var key  in obj){
   console.log(obj[key])
          key: 是对象的键
          obj[key]: 是对象的键对应的值
      }
1.JSON的属性名必须有双引号,如果值是字符串,也必须是双引号。
2.值不能是方法函数,undefined,NaN
4.js对象和json对象的区别
js普通对象JSON对象
万物皆对象
普通对象键名不用加双引号,可以用单引号包裹键名必须加双引号
有属性,方法只有属性
可以加最后一个值后面不可以加上逗号
JS对象不能传输可以跨平台数据传输、速度快
JS对象的值可以是对象、字符串、数字、函数、boolean等等值不能是函数、也不能是undefined或NaN
3.JSON新增

​ JSON: 前后端传输数据的一种格式

 常见的JSON对象形式:
             var obj = { "name": "zs" }

             var arr = [{ "productName": "华为" }, { "productName": "小米" }, { "productName": "诺基亚" }]

  常见的JSON字符串形式:
             var objstr = '{"name":"zs"}'
             var arrstr = '[{"productName":"华为"},{"productName":"小米"},{"productName":"诺基亚"}]'
// 普通的对象,可以写方法
    var obj = {
        name: "zs",
        say: function () { }
    }
    obj.name
    obj['name']
------------------------------------------------------------------------------------------------------------------   
 //JSON对象,没有方法,键名必须用双引号
     var obj = {
        "name": "zs"
     }
    obj.name
    obj['name']
------------------------------------------------------------------------------------------------------------------ 
     
   //对象的遍历  
     for(var key  in obj){
      console.log(obj[key])
          key: 是对象的键
          obj[key]: 是对象的键对应的值
      }
JSON对象的转换
JSON.stringify(jsonStr)将JS对象转为JSON字符串传输到后端时,需要转为字符串
JSON.parse(jsonObj)将JSON字符串转为JS对象后端传过来的也是一个字符串,不能用,转为数组形式或者对象形式为什么要转,遍历数组,渲染到页面
JSON 字符串转 JS 对象 ⇒ JSON.parse()
let jsonStr = '{"name":"张三","age":18}'
let jsObj = JSON.parse(jsonStr)
console.log(jsObj)// {name:'张三',age:18}
JS 对象转 JSON 字符串 ⇒ JSON.stringify()
let jsObj = {name:'张三',age:18}
let jsonStr = JSON.stringify(jsObj)// '{"name":"张三","age":18}'

4.对象新增的方法

Object.keys():该方法用于获取对象自身所有的属性,返回一个由属性名组成的数组
var obj = {
  id: 1,
  pname: "努比亚",
  price: 2999,
  num: 2000,
};
var arr = Object.keys(obj);
console.log(arr);
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值