zoukankan      html  css  js  c++  java
  • js中JSON的使用

      json主要的优势就是格式精简,相比较xml的话。一般用来作为数据传输,前后端进行数据传递。

      现在流行的浏览器普遍支持JSON的两个方法,序列化和反序列化。

      1.   JSON.stringnify()

      2.   JSON.parse()

    下边的示例就是这两个方法的常见用法。

    注意一点:json这个两个方法,会忽视掉undefined的项目属性,比如key为test的项目被忽略掉。

    var a;
    var person = {
        "fullname" : "Mr Xi",
        "wife" : "Miss Peng",
        "children" : ["Xi1", "Xi2"],
        "age" : 53,
        "test" : a
    };
    
    console.log(a); // undefined
    var str = JSON.stringify(person);// 通常序列化后,可以传到后台
    console.log(str);// {"fullname":"Mr Xi","wife":"Miss Peng","children":["Xi1","Xi2"],"age":53} 
    
    var jobj = JSON.parse(str);// 从后台传到前台后,进行解析
    console.log(jobj);

    很多时候,我们大多数忽视了这两个方法的第二个参数。第二个参数主要用于过滤作用(可以是数组,或者是函数)。

    当为数组的时候,传递json对象的keys,传递了则包含这个属性,否则过滤掉。

    当为函数的时候,函数有两个参数分别是key和value,针对自己的业务进行处理,return undefined则不包含,否则返回value。

    var str1 = JSON.stringify(person, ["fullname", "children"]);
    console.log(str1);// {"fullname":"Mr Xi","children":["Xi1","Xi2"]}
    
    var str2 = JSON.stringify(person, function(k,v){
        if (k == "children"){
            v.push("Xi3");
            return v;
        } else if (k == "age"){
            return undefined;
        } else {
            return v;
        }
    });
    console.log(str2);
    // {"fullname":"Mr Xi","wife":"Miss Peng","children":["Xi1","Xi2","Xi3"]}

     

      

  • 相关阅读:
    spring boot 缺点优点?
    hdata datax交流总结
    数据分析利器之hive优化十大原则
    curl 执行post请求
    python读写文件write和flush
    hive bucket
    scp拷贝本地文件到服务器
    hive删除表报错
    PostgreSQL逻辑复制之slony篇
    Oracle迁移至PostgreSQL工具之Ora2Pg
  • 原文地址:https://www.cnblogs.com/firstForEver/p/5053357.html
Copyright © 2011-2022 走看看