JSON.parse()和JSON.stringify()

来源:互联网 发布:seo网站编辑招聘 编辑:程序博客网 时间:2024/06/05 15:28

JSON.parse()

概述:
JSON.parse() 方法将一个 JSON字符串解析成一个javascript值。在解析过程中,还可以选择性的修改某些属性的原始解析值。

语法:

JSON.parse(text[, reviver])

参数:

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

返回值:
Object对应给定的JSON文本。

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

JSON.parse()的详细文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse


JSON.stringify()

JSON.stringify() 方法可以将任意的 JavaScript 值序列化成 JSON 字符串。若转换的函数被指定,则被序列化的值的每个属性都会经过该函数的转换和处理;若转换的数组被指定,只有包含在这个数组中的属性名才会被序列化到最终的 JSON 字符串中。

语法:

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

参数:
value:将要序列化成 JSON 字符串的值。

replacer:(可选参数)

  • 如果该参数是一个函数,则在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理;
  • 如果该参数是一个数组,则只有包含在这个数组中的属性名才会被序列化到最终的 JSON 字符串中;
  • 如果该参数为null或者未提供,则对象所有的属性都会被序列化;

space:(可选参数)

  • 指定缩进用的空白字符串,用于美化输出(pretty-print);
  • 如果参数是个数字,它代表有多少的空格;上限为10。改值若小于1,则意味着没有空格;
  • 如果该参数为字符串(字符串的前十个字母),该字符串将被作为空格;
  • 如果该参数没有提供(或者为null)将没有空格。

JSON.stringify()的详细文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify


简单示例如下:

parse用于从一个字符串中解析出json对象,如

var str = '{"name":"zhangsan","age":"20"}'

结果:

JSON.parse(str)Object    age: "20"    name: "zhangsan"    __proto__: Object

注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。


stringify()用于从一个对象解析出字符串,如

var a = {a:1,b:3}

结果:

JSON.stringify(a)"{"a":1,"b":3}"
0 0
原创粉丝点击