JavaScript中JSON的解析与序列化
2017-04-02 10:58
295 查看
stringify()
把JavaScript对象序列化为JSON字符串
stringify()中可传三个参数:需要序列化的JavaScript对象、过滤器(数组/函数)、指定字符串缩进方式。
过滤结果
字符串缩进
toJSON方法
parse()
把JSON字符串解析 为原生JavaScript值。
JSON.parse()方法也可以接收另一个参数,该参数是一个函数,将在每个键值对儿上调用。
把JavaScript对象序列化为JSON字符串
var book = { title: "Professional JavaScript", authors: [ "Nicholas C. Zakas" ], edition: 3, year: 2011 } var jsonText = JSON.stringify(book);
stringify()中可传三个参数:需要序列化的JavaScript对象、过滤器(数组/函数)、指定字符串缩进方式。
过滤结果
若为数组: var book = { "title":"Professional JavaScript", "authors:" [ "Nicholas C. Zakas" ], edition: 3, year: 2011 }; var jsonText = JSON.stringify(book,["title", "edition"]); 那么jsonText就为: {"title":"Professional JavaScript","edition":3} 若为函数: var jsonText = JSON.stringify(book, function(key,value)){ switch(key){ case "authors": return value.join(",") case "year": return 5000; case "edition": return undefined; default: return value; } }
字符串缩进
要在每个级别缩进4个空格 var jsonText = JSON.stringify(book,null,4); 将缩进字符改为短划线之类的任意字符: var jsonText = JSON.stringify(book,null,"- -");
toJSON方法
直接在JavaScript对象中添加toJSON方法 var book = { "title":"Professional JavaScript", "authors:" [ "Nicholas C. Zakas" ], edition: 3, year: 2011, toJSON:function(){ return this.title; } }; var jsonText = JSON.stringify(book);
parse()
把JSON字符串解析 为原生JavaScript值。
var bookCopy = JSON.parse(jsonText);
JSON.parse()方法也可以接收另一个参数,该参数是一个函数,将在每个键值对儿上调用。
var book = { "title":"Professional JavaScript", "authors:" [ "Nicholas C. Zakas" ], edition: 3, year: 2011, releaseDate: new Date(2011, 11, 1) }; var jsonText = JSON.stringify(book); var bookCopy = JSON.parse(jsonText, function(key,value)){ if (key == "releaseDate"){ return new Date(value); }else { return value; } }
相关文章推荐
- 说说使用 JavaScript 解析以及序列化 JSON 的方法
- JavaScript中JSON的序列化与解析
- JavaScript中的json解析和序列化
- JavaScript解析和序列化JSON
- javaScript中的解析和序列化JSON
- JavaScript加载XML文件,并解析为JSON对象
- javascript解析json
- JavaScript 解析 JSON 数据
- alibaba fastjson(json序列化器)序列化部分源码解析-2-性能优化B
- JavaScriptSerializer 对 DateTime 数据类型的JSON序列化的问题
- JavaScriptSerializer 对 DateTime 数据类型的JSON序列化的问题
- alibaba fastjson(json序列化器)序列化部分源码解析-1-总体分析
- javascript解析json
- 比较详细的关于javascript 解析json的代码
- JavaScript 解析Json字符串的性能比较分析代码
- JavaScriptSerializer 对 DateTime 数据类型的JSON序列化的问题
- javascript解析json
- javascript解析json
- javascript解析json
- JavaScript 解析Json字符串的性能比较分析代码