• JSON的基本认识


        今天我想描述的JSON(也叫JavaScript对象表示法)是只针对于JavaScript而言所写,但有一个点是你需要知道,就是JSON并非只属于JavaScript,目前很多编程语言也能使用。JSON是一种数据格式而非编程语言。

    JSON的语法可以用三种类型的值表示

    1.简单值(字符串、数字、布尔值、null)

    {
    "title":"helloWorld", // JSON字符串尽可能用""表示,勿用单引号'',不然可能会出现语法错误
    "name":"张三",
    "age":22,
    "type":true,
    "date":null,
    "test":undefined 
    
    } 

    注:上面代码中"test":undefined 经过JSON的各种操作,都会被剔除掉,所以说JSON不支持undefined

    2.对象

    {
    "name":"张三",
     "course":{
         "title":"Chinese",
         " time":"2020-3-4"    
     }
    }

    注:上面JSON对象的表示与JavaScript对象字面量表示的区别有二:其一,JavaScript需要声明变量(let/var),其二,JavaScript结束后最后需要;表示

    3.数组

    [
      {
          "name":"jean",
          "age":18   
      } ,
      {
          "name":"chee",
          "age":21  
      } , 
     {
          "name":"lucky",
          "age":44   
      } 
    ]

    JSON数组遍历(JSON数组拥有JavaScript对数组操作的功能,如arr.push.....)

     let a=[
      {
          "name":"jean",
          "age":18   
      } ,
      {
          "name":"chee",
          "age":21  
      } , 
     {
          "name":"lucky",
          "age":44   
      } 
    ];
    // 第一种方法
    for(let s=0;s<a.length;s++){
        console.log(a[s].name);
    } 
    // 第二种方法
    for(let item in a){
        console.log(a[item].name);
    }  

    JavaScript对象与JSON的相互转化

    (1)定义一个JavaScript对象

    let  js={
        title:"hello",
        course:["高数","kiry" ]  ,
       school:{
             name:"college",
            location:"North"
      }
    } ;

    (2) 如何获取数据

      查询title:js.title

      查询第一门课程:js.course[0]

      查询学校的地址:js.school.location

    (3)JavaScript对象转化为JSON对象let jsonObj=JSON.stringify(js);

     let jsonObj=JSON.stringify(js);
    console.log(jsonObj);
    // 结果{"title":"hello","course":["高数","kiry"],"school":{"name":"college","location":"North"}}
    
    
    // 第一种写法   stringify 中第二项表示过滤器,过滤出只有["title","course"]的结果
     let jsonObj=JSON.stringify(js,["title","course"]); 
     console.log(jsonObj); // 结果{"title":"hello","course":["高数","kiry"]} 
    
    
    // 第二种写法stringify 中第三项表示 字符串缩进  数值表示(max为10)超过10 ,默认为10
    let jsonObj=JSON.stringify(js,["title","course"],4); 
    console.log(jsonObj);
    //  结果
    //{
    //    "title": "hello",
    //    "course": [
    //        "高数",
    //        "kiry"
    //    ]
    //}

    // stringify 中第三项表示 字符串缩进  字符串表示

    let jsonObj=JSON.stringify(j,null,"***");
    console.log(jsonObj);

     //{
     //***"title": "hello",
     //***"course": [
     //******"高数",
     //******"kiry"
     //***],
     //***"school": {
     //******"name": "college",
     //******"location": "North"
     //***}
     //}


     

    (4)JSON对象转化为JavaScript对象

    let recover=JSON.parse(jsonObj);
    console.log(recover);

    tip


     目前在项目开发中,JSON常用于前后端对接时,交互数据所用

  • 相关阅读:
    springboot中jpa+lombok
    slf4j管理日志,info和error分开存储,每天一个日志文件
    redis内存策略
    redis持久化策略
    Json与对象之间的转化
    Json--01
    缓存中应注意的问题
    面试中的数据库如何优化?
    公司中服务器部署步骤
    Nginx故障迁移
  • 原文地址:https://www.cnblogs.com/Jeanchjy/p/12560175.html
Copyright © 2020-2023  润新知