• 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"]}

     

      

  • 相关阅读:
    C++ quick sort ascendingly and descendingly
    C++ write file and read file via fstream
    C++ optimized fibonacci algorithm
    C++ compute quick sort time cost via std::chrono which its precision can reach nanoseconds
    C++ selection sort.quick sort
    C++ quick sort
    C++ in ubuntu pop up message via notifysend command . zenity command
    C++ vector iterator std::ref(vec)
    C++使用new来创建动态数组
    C++ 使用new来分配内存
  • 原文地址:https://www.cnblogs.com/firstForEver/p/5053357.html
Copyright © 2020-2023  润新知