zoukankan      html  css  js  c++  java
  • ajax json 学习笔记

    json = { }

    JSON 字符串必须使用双引号,单引号会出现错误

    三种类型:

          简单值:字符串、数值、布尔值、null

          对象:无序的键值对儿

          数组:有序的值列表

    解析:JSON.eval()   //最早期   会执行恶意代码 不建议使用

        JSON.stringify();  // 转化成 json 对象

        JSON.parse();   // 转化成JS对象 object 

     解析 JSON  需要大写

    
    
    //js对象
    var book = {            
          title:"javascript",
        authoers:["taoqun"],
        edition:3,
        year:2016
    }

    // 解析成 JSON对象
    var jsontext = JSON.stringify(book);

    //jsontext 的值为:
    {"title":"javascript","authoers":["taoqun"],"edition":3,"year":2016}

    // 解析 javascript 对象 JSON对象才能解析
    var parse_value = JSON.parse(jsontext);


    试验:

      var s = {
        "ss":123,
        "asd":"asd",
        "dww":[123,123],
        "dfg":123
      }
      console.log(s);
      s = JSON.stringify(s);
      console.log(s);
      var a =JSON.parse(s);
      console.log(a);

    输入结果:
    Object {ss: 123, asd: "asd", dww: Array[2], dfg: 123} //js对象 键会去掉双引号
      {"ss":123,"asd":"asd","dww":[123,123],"dfg":123} //json对象
    键会加上双引号
    Object {ss: 123, asd: "asd", dww: Array[2], dfg: 123} //JS对象 键会去掉双引号



    序列化选项:

      1、过滤结果

     数组 JSON.stringify( js对象 , [数组]  );  只返回包含数组对应属性的值;

     函数   JSON.stringify( js对象 ,  function( key ,value ) );函数接受两个参数 属性 和 属性值 或(键 和 键值)  //属性只能是字符串

     数组:

    var book = {
           "title":"hello",
           "name":"taoqun",
           age:24,
           year:2016
    }

    var jsontext = JSON.stringify(book,["title","age"]);

    // jsontext 的返回值

    {"title":"hello","age":24}

    函数:

    var book = {
          "title":"hello",
           "name":"taoqun",
          age:24,
           year:2016,
          list:[1,2,34]
    }

    var jsontext = JSON.stringify(book,function(key,value){
              switch(key){
                  case "list":
                      return value.join(",");
                  case "year":
                      return 2017;
                  case "name":
                      return "jay";
                  default:
                      return value;
              }
    })

    console.log(jsontext);

    // 返回值:

    {"title":"hello","name":"jay","age":24,"year":2017,"list":"1,2,34"}

    2、字符串缩进

    var jsontext = JSON.stringify(book,null,4);
    //返回值键值 缩进四个字符
    var jsontext = JSON.stringify(book,null,"--");
    //返回值键值 用"--" 显示缩进


    3、toJSON() 方法

        优先返回toJSON 

      //待续

    解析选项:

        JSON.parse(book,function(key,value){

    })

     

  • 相关阅读:
    IP的幻觉
    糟糕的一天
    windows下批量生成文件
    基于Bandersnatch搭建本地pypi源
    vmware vsphere 无法启动故障;
    关于Centos7客户端代理配置
    怎样在交换机判断是否出现环路了呢?
    小小的网络故障
    express for LINUX
    ESXI 7.0 ovf 导出;
  • 原文地址:https://www.cnblogs.com/taoquns/p/5559744.html
Copyright © 2011-2022 走看看