• JSON.stringify初识


    1.JSON.stringify()简介:

    JSON.stringify()这个函数是用来序列化对象的,即是把对象类型转换成json类型。

    它有三个参数,即JSON.stringify(value [, replacer] [, space]):

    value是必填,指要转换json类型的对象(类,数组等),

    replacer不是必填,用于转换结果的函数或数组,

    如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值,使用返回值而不是原始值,如果此函数返回 undefined,则排除成员,根对象的键是一个空字符串:"",

    如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。 成员的转换顺序与键在数组中的顺序一样。 当 value 参数也为数组时,将忽略 replacer 数组。

    space不是必填向返回值 JSON 文本添加缩进、空格和换行符以使其更易于读取,

    如果省略 space,则将生成返回值文本,而没有任何额外空格,

    如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格, 

    如果 space 大于 10,则文本缩进 10 个空格,

    如果 space 是一个非空字符串(例如“ ”),则返回值文本在每个级别中缩进字符串中的字符,

    如果 space 是长度大于 10 个字符的字符串,则使用前 10 个字符,

    上面的文字描述百度上都是,下面用实例来理解JSON.stringify,以及它的三个参数:

    2.只有参数value:

    <script src="js/jquery-1.8.2.min.js"></script>
        <script type="text/javascript">
            $(function () {
                var user = new Object();
                user.name = "一叶秋";
                user.address = "中国";
                alert(JSON.stringify(user));
            });
        </script>

    结果:

    3.参数replacer:

    3.1.replacer为数组的时候

    $("#btn21").click(function () {
          var user = new Object();
          user.name = "张三";
          user.address = "北京";
    
          var array = new Array();
          array[0] = "name";
          array[1] = "address";
          array[2] = "tel";
    
          alert(JSON.stringify(user, array));
     });

    如果第二个的value在第一个存在,那么就以第二个的值做key,第一个值为value进行表示,如果第二个的value在第一个不存在,就不显示。结果如下:

    3.2.replacer为函数的时候

    <script src="js/jquery-1.8.2.min.js"></script>
        <script type="text/javascript">
            $(function () {//第二个个参数为函数
                $("#btn22").click(function () {
                    var array = new Array();
                    array[0] = "a";
                    array[1] = "b";
                    array[2] = "c";
                    alert(JSON.stringify(array, upper));
                });
            });
            function upper(key, value) {
                return value.toString().toUpperCase();
            }</script>

    结果如下:

    4.参数space

    这个参数如果省略的话,那么显示出来的值就第一个例子一样。

    不省略的话:

    4.1

    $("#btn1").click(function(){
         var user = new Object();
         user.name = "一叶秋";
         user.address = "中国";
         alert(JSON.stringify(user,null,12));
    });

    结果如下:

    4.2

    $("#btn3").click(function () {
           var user = new Object();
           user.name = "一叶秋";
           user.address = "中国";
           alert(JSON.stringify(user, null, "	"));
     });

    结果如下:

  • 相关阅读:
    程序员怎么提高英语阅读水平【转】
    Linux后台执行【转】
    pcre安装错误的解决方法
    编译PHP错误:undefined reference to `ts_resource_ex'
    apache2启动时共享库libpcre找不到
    设置Ubuntu的IP地址
    vsftp 的应用
    用Python实现动态的切换桌面背景
    DNN 4.x CodeSmith模板
    如何在DNN中使用Google Analytics
  • 原文地址:https://www.cnblogs.com/qk2014/p/4455656.html
Copyright © 2020-2023  润新知