JSON.parse()和JSON.stringify()的用法

         JSON.parse()方法解析一个JSON字符串,构造由字符串描述的JavaScript值或对象。可以提供可选的reviver函数以在返回之前对所得到的对象执行变换。

         语法

     JSON.parse(text[, reviver])

          参数

       text
  要被解析成JavaScript值的字符串,查看 JSON 对象学习的JSON 语法的说明。
       reviver 可选
  如果是一个函数,则规定了原始值如何被解析改造,在被返回之前。

 返回值

  Object对应给定的JSON文本。

 异常

  若被解析的 JSON 字符串是非法的,则会抛出 一个语法错误 异常。

   JSON.parse('{}'); // {}
   JSON.parse('true'); // true
   JSON.parse('"foo"'); // "foo"
   JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]
   JSON.parse('null'); 

 JSON.stringify() 方法将一个JavaScript值转换为一个JSON字符串

语法

JSON.stringify(value[, replacer [, space]])

参数

value
将要序列化成 一个JSON 字符串的值。
replacer 可选
如果该参数是一个函数,则在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理;如果该参数是一个数组,则只有包含在这个数组中的属性名才会被序列化到最终的 JSON 字符串中;如果该参数为null或者未提供,则对象所有的属性都会被序列化;关于该参数更详细的解释和示例,请参考使用原生的 JSON 对象一文。
space 可选
指定缩进用的空白字符串,用于美化输出(pretty-print);如果参数是个数字,它代表有多少的空格;上限为10。改值若小于1,则意味着没有空格;如果该参数为字符串(字符串的前十个字母),该字符串将被作为空格;如果该参数没有提供(或者为null)将没有空格。

返回值 

一个表示给定值的JSON字符串。

JSON.stringify({});                        // '{}'
JSON.stringify(true);                      // 'true'
JSON.stringify("foo");                     // '"foo"'
JSON.stringify([1, "false", false]);       // '[1,"false",false]'
JSON.stringify({ x: 5 });                  // '{"x":5}'
JSON.stringify({x: 5, y: 6});              // "{"x":5,"y":6}"
JSON.stringify([new Number(1), new String("false"), new Boolean(false)]); // '[1,"false",false]'
JSON.stringify({x: undefined, y: Object, z: Symbol("")}); // '{}'
JSON.stringify([undefined, Object, Symbol("")]);          // '[null,null,null]' 
JSON.stringify({[Symbol("foo")]: "foo"});                 // '{}'
JSON.stringify({[Symbol.for("foo")]: "foo"}, [Symbol.for("foo")]);// '{}'
posted @ 2017-05-26 11:30  水吉佩奇  阅读(317)  评论(0)    收藏  举报