JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前端与后端之间的数据传递。在前端开发中,我们经常需要将从服务器获取到的 JSON 数据转换为 JavaScript 对象进行操作。
JSON 的结构和语法
JSON 数据由键值对组成,每个键值对用冒号 :
分隔,不同键值对之间用逗号 ,
分隔,整个 JSON 数据要用花括号 {}
包裹起来。键名必须用双引号 "
包裹,值可以是字符串、数字、布尔值、数组或对象。
以下是一个简单的 JSON 示例:
-- -------------------- ---- ------- - ------- ----- ------ --- --------- ----- ---------- ------ ------ ---------- - ----------- ----- ------- ---- - -
将 JSON 转换为 JavaScript 对象
在 JavaScript 中,我们可以使用 JSON.parse()
方法将 JSON 字符串转换为 JavaScript 对象,该方法接收一个字符串作为参数,并返回一个 JavaScript 对象。
const jsonStr = '{"name":"张三","age":18,"isMale":true,"hobbies":["篮球","游泳"],"address":{"province":"广东","city":"深圳"}}'; const jsonObj = JSON.parse(jsonStr); console.log(jsonObj.name); // 输出:张三 console.log(jsonObj.age); // 输出:18 console.log(jsonObj.isMale); // 输出:true console.log(jsonObj.hobbies[0]); // 输出:篮球 console.log(jsonObj.address.province); // 输出:广东
需要注意的是,如果传入的 JSON 字符串格式不正确,则 JSON.parse()
方法会抛出异常。
将 JavaScript 对象转换为 JSON
与将 JSON 转换为 JavaScript 对象相反,我们可以使用 JSON.stringify()
方法将 JavaScript 对象转换为 JSON 字符串,该方法接收一个 JavaScript 对象作为参数,并返回一个 JSON 字符串。
-- -------------------- ---- ------- ----- ------- - - ----- ----- ---- --- ------- ----- -------- ------ ------ -------- - --------- ----- ----- ---- - -- ----- ------- - ------------------------ --------------------- -- -----------------------------------------------------------------------------------------------------
需要注意的是,如果 JavaScript 对象中包含函数或 undefined,那么这些属性会在转换为 JSON 时被忽略掉。另外,转换后的 JSON 字符串中键名仍然会用双引号包裹。
总结
在前端开发中,我们经常需要将 JSON 数据转换为 JavaScript 对象进行操作。通过使用 JSON.parse()
方法,我们可以将 JSON 字符串转换为 JavaScript 对象;而通过使用 JSON.stringify()
方法,我们可以将 JavaScript 对象转换为 JSON 字符串。在使用时需要注意 JSON 的语法和格式,以及转换过程中的一些细节问题。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/14280