关闭

JSON.stringify和JSON.parse

232人阅读 评论(0) 收藏 举报
分类:

标准的json,属性都要加双引号,不加或者单引号都会报错。

1、JSON.stringify 

 这个方法接收3个参数,该方法会过滤掉 值为undefinde的属性。

第一个是 json对象,第二个可以是数组或者函数,第三个参数如果是数字,代表缩进的空格字数,如果是字符串代表用该字符串代替空格进行缩进。(同时会自动换行)

如果属性有个toJSON,会优先按照这个属性的方法返回

		var book = {
                        title: "Professional JavaScript",
                        authors: [
                            "Nicholas C. Zakas"
                        ],
                        edition: 3,
                        year: 2011
                   };

       	      var jsonText = JSON.stringify(book, ["title", "edition"]);
	     //{"title":"Professional JavaScript","edition":3}
             var jsonText2 = JSON.stringify(book, function(key, value){
             switch(key){
                case "authors":
                    return value.join(",")
                 
                case "year":
                    return 5000;
                    
                case "edition":
                    return undefined;
                    
                default:
                    return value;
            }
        });
           //{"title":"Professional JavaScript","authors":"Nicholas C. Zakas","year":5000}
              var jsonText3 = JSON.stringify(book, null, 4);
           //{
            "title": "Professional JavaScript",
            "authors": [
            "Nicholas C. Zakas"
           ],
            "edition": 3,
            "year": 2011
           }

            var book = {
                       "title": "Professional JavaScript",
                        "authors": [
                            "Nicholas C. Zakas"
                        ],
                        edition: 3,
                        year: 2011,
                        toJSON: function(){
                            return 555;
                        }
                   };

        var jsonText = JSON.stringify(book);
        console.log(jsonText);
         //555

2.json.parse

这个方法接收2个参数,第一个参数是 json字符串,第二个参数是替换的方法。

		var book = {
                       "title": "Professional JavaScript",
                        "authors": [
                            "Nicholas C. Zakas"
                        ],
                        edition: 3,
                        year: 2011,
                        releaseDate: new Date(2011, 11, 1)
                   };

        var jsonText = JSON.stringify(book);
        alert(jsonText);
        
        var bookCopy = JSON.parse(jsonText, function(key, value){
            if (key == "releaseDate"){
                return undefined;
            } else {
                return value;
            }
        });
       console.log(bookCopy.releaseData.getFullYear());//2011

注:属性值 经过parse之后也是字符串。




0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

php数据库数据转换为js中的json对象,JSON.parse()和JSON.stringify()

---
  • shueiyuan1983
  • shueiyuan1983
  • 2016-10-24 18:37
  • 806

关于JSON.stringify 与 JSON.parse使用小记(笔记向)

前段时间做了一个任务,为了在商城搜索页面给商品的显示顺序做排序,要给商品加上相对应的权值,跳到权重页面,首先需要查出来所有的已经绑定权重值的商品列表,显示出权重值,有效日期以及是否有效等状态,(楼主用...
  • u012829344
  • u012829344
  • 2016-03-08 15:32
  • 494

你所不知道的JSON.parse() 和 JSON.stringify() – 高级用法

JSON对象的两个方法:JSON.parse() 和 JSON.stringify() 通常用做JSON对象和字符串之间的相互转换,这里不再详细介绍,你可以查看这篇文章: http://www.css...
  • dq674362263
  • dq674362263
  • 2017-12-29 10:45
  • 26

ajax如何传送数组、JSON.parse和JSON.stringify区别

【ajax如何传数组给php?有哪些办法?】
  • u013545737
  • u013545737
  • 2017-02-08 23:03
  • 2799

JSON.stringify几种可能的用法总结

$(document).ready(function(){ //如果JS对象含有toJSON方法,那么stringify返回该方法的返回值   //var obj={name:"xxx",sex:'f...
  • liangklfang
  • liangklfang
  • 2015-09-10 12:24
  • 4654

eval、json.parse()的介绍和使用注意点

eval和json.parse的使用 eval:来源于官网 定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。 语法:  ...
  • shehun11
  • shehun11
  • 2015-09-30 11:29
  • 1694

使用JSON.parse()转化成json对象需要注意的地方

第四棒东雄平 2016-11-03 13:46 相信大部分人都知道或者去百度检索都会得到将js中的字符串转化成json对象常见的3种方法 举例: var str = '{"name"...
  • u011277123
  • u011277123
  • 2016-11-06 17:48
  • 6115

JSON.stringify 语法实例讲解

JSON.stringify 语法实例讲解
  • qq_26676207
  • qq_26676207
  • 2017-02-21 17:28
  • 552

JavaScript 最佳实践:帮你提升代码质量

中国智慧城市 2016-12-01 09:15 每天学一些新东西可以让一个理性之人走上不凡之路。而作为开发人员,不断的学习新东西则是我们工作的一部分, 不论这些新东西是不是来源于积极的学习经验。...
  • u011277123
  • u011277123
  • 2016-12-13 09:03
  • 767

JSON.stringify()将JSON对象转换为字符串通过Ajax传入到后台处理

最近在做一个小小的功能模块,前台有很多的数据需要传入到后台,前台页面设计如下: 看起来不是很清楚,总之表单中的数据都要提交到后台进行处理,然后插入到数据库,而且是一起提交到后台的,实现的方法大致有两...
  • HarderXin
  • HarderXin
  • 2013-12-18 16:24
  • 9639
    个人资料
    • 访问:27497次
    • 积分:783
    • 等级:
    • 排名:千里之外
    • 原创:45篇
    • 转载:21篇
    • 译文:5篇
    • 评论:1条
    文章分类
    最新评论