json2.js 使用

函数声明

1、JSON.stringify = function (value, replacer, space);

2、JSON.parse = function (text, reviver);

 

一、JSON.stringify的使用

先定义数组和函数(对象的构造函数)

 

        // 学生对象构造函数
        function student(id, name, sex, age)
        {
            this.id = id;
            this.name = name;
            this.sex = sex;
            this.age = age;
        }

 

        function replacer(key, value)
        {
            if (("name" === key) || ("lizi" === key))
            {
                return value.toString().toUpperCase();
            }
            if ((true === !key)||""===key)
            {
                return value.toString().toUpperCase();
            }
            return value;
        }

 

        var fruit = ["苹果", "香蕉", "西瓜", "橘子", "桃子", "lizi", "putao"];
        var field = ["id", "name", "class", "grade", "lizi"];


        var p1 = new student(1, "xulh", "男", 25);
        var studentAry = [new student(1, "xulh", "男", 25), new student(2, "chexx", "女", 27)];

 

1、一个参数JSON.stringify

            // 对象
            var sJson = JSON.stringify(p1);
            // 结果:"{"id":1,"name":"xulh","sex":"男","age":25}"
            // 数组

            sJson = JSON.stringify(fruit);
            // 结果:"["苹果","香蕉","西瓜","橘子","桃子","lizi","putao"]"

2、两个参数JSON.stringify

               // 对象 - 数组:用数组中的字段过滤对象
            sJson = JSON.stringify(p1, field);
            // 结果:"{"id":1,"name":"xulh"}"
            sJson = JSON.stringify(p1, fruit);
            // 结果:"{}"

            // 对象 - 对象:是有问题的
            sJson = JSON.stringify(p1, replacer);
            // 结果:""[OBJECT OBJECT]""

            // 数组 - 对象:看似正确,但是是有问题的,多了一对双引号
            sJson = JSON.stringify(fruit, replacer);
            // 结果:""苹果,香蕉,西瓜,橘子,桃子,LIZI,PUTAO""

            // 数组 - 数组:第二个数组被忽略
            sJson = JSON.stringify(fruit, field);
            // 结果:"["苹果","香蕉","西瓜","橘子","桃子","lizi","putao"]"

3、三个参数JSON.stringfy

           第三个参数是为了格式化json字符串的;

           如果省略的话,那么显示出来的值 就没有分隔符。直接输出来;

           如果是一个数字,那么它就定义缩进几个字符,如果大于10 ,则最大值为10;

           如果是一些转义字符,比如“\t”,表示回车,那么它每行一个回车;

           如果仅仅是字符串,那么就在每行输出值的时候把这些字符串附加上去。当然,最大长度也是10个字符;

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值