JSON.parse JSON.stringify

  1. var jsonString = JSON.stringify(value   [,   replacer   [,   space]])
    1. value(必选):   需要转换为JSON格式字符串的javascript对象
    2. replacer(可选):   允许函数或者数组作为参数,  当数组作为参数时起到白名单作用,  只有key在数组中的属性才会序列化到输出字符串中.   当函数作为参数时接收两个参数:  key和需要序列化的value,  key所在对象作为this值,  函数最终返回值如果是Number,   String,   Boolean那么对应的string类型将参与key序列化,   如果返回的是一个对象,   继续对该对象stringify返回值参与key序列化,  如果返回值是undefined那这个key和value不会出现最后的字符串中
    3. space(可选):   用来排版的字符串或数字,   数字设置字符间空格的数量取值为[0, 10]不在取值范围内的将规约到最近的边界值,   当类型为字符串时最多允许10个字符,  超过10个的取前十个
  2. 如果序列化的对象含有toJSON方法,   则使用此方法
  3. JSON.parse(text   [, reviver])
    1. text(必选):   需要解析为javascript对象的字符串
    2. reviver(可选):  每一个key/value解析后传入函数如果如果返回值为null或者undefined, 则这个属性不会添加到新创建的对象中,  其他返回值作为value参与对象创建

JSON.stringify()   和JSON.parse()在较高级版本中才有实现,  在老版本的浏览器中可使用第三方库模拟,  这样能避免直接使用eval()带来的危险

参考: http://www.json.org/js.html

http://msdn.microsoft.com/en-us/library/ie/cc836466%28v=vs.94%29.aspx

https://developer.mozilla.org/en-US/docs/Using_native_JSON

一个不错的第三方库: https://github.com/douglascrockford/JSON-js

原文地址:https://www.cnblogs.com/qiudeqing/p/3409218.html