YanTianFeng的知识库

Want Coding

Want Reading

文章 89

访问 18443

评论 2

头像

YanTianFeng

发私信

文章 89
访问 18443
评论 2
JAVASCRIPT
返回顶部

Knowledge  JavaScript 数组、对象 <==> JSON字符串 相互转换

标签   JavaScript   字符串转换  

  ( 214 )       ( 0 )


前言

JSON . stringify() 方法是将一个 JavaScript 值 ( 对象或者数组 ) 转换为一个 JSON 字符串 , JSON . parse() 方法用来解析 JSON 字符串,构造由字符串描述的 JavaScript 值或对象。

数组、对象 => JSON 字符串

JSON . stringify() 方法是将一个 JavaScript 值 ( 对象或者数组 ) 转换为一个 JSON 字符串。

语法

JSON.stringify(value , replacer , space)

参数

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

返回值

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

示例

JSON.stringify([1, "false", false]);       // '[1,"false",false]'
JSON.stringify({x: 5, y: 6});                 // '{"x":5,"y":6}'

JSON 字符串 => 数组、对象

JSON . parse() 方法用来解析 JSON 字符串,构造由字符串描述的 JavaScript 值或对象。

语法

JSON.parse(text , reviver)

参数

参数名 描述
text 要被解析成JavaScript值的字符串
reviver 如果是一个函数,则规定了原始值如何被解析改造,在被返回之前。

返回值

对应给定的 JSON 字符串,解析后的 JavaScript 值。

示例

JSON.parse('[1, 5, "false"]');               // [1, 5, "false"]
JSON.parse('{"x":5,"y":6}');                 // {x: 5, y: 6}

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

JSON . parse() 的 text 参数不允许用逗号作为结尾

// both will throw a SyntaxError
JSON.parse("[1, 2, 3, 4, ]");
JSON.parse('{"foo" : 1, }');