HTML5中可用JSON.stringify()将JS对象转为JSON字符串,JSON.parse()将字符串还原为对象;需注意类型限制、错误处理及安全防护。

如果您在HTML5开发中需要将JavaScript对象或数组转换为字符串格式以便存储或传输,或者需要将字符串还原为原始数据结构,则可以利用原生的JSON方法进行转换。以下是实现数据结构转换的具体步骤:
一、使用JSON.stringify()将数据结构转换为JSON字符串
JSON.stringify()用于将JavaScript值(如对象、数组、数字、字符串、布尔值或null)序列化为符合JSON语法的字符串。该方法会忽略函数、undefined、Symbol类型值以及循环引用的对象属性。
1、定义一个包含嵌套属性的JavaScript对象,例如:const user = { name: "张三", age: 28, hobbies: ["阅读", "游泳"] };
2、调用JSON.stringify()方法传入该对象:const jsonString = JSON.stringify(user);
立即学习“前端免费学习笔记(深入)”;
3、检查返回结果,确认输出为:{"name":"张三","age":28,"hobbies":["阅读","游泳"]}
4、若需美化输出格式,可传入缩进参数,例如:JSON.stringify(user, null, 2),此时结果会以两个空格缩进显示。
二、使用JSON.parse()将JSON字符串还原为JavaScript数据结构
JSON.parse()用于将符合JSON语法的字符串解析为对应的JavaScript值。该方法严格校验输入格式,若字符串不符合JSON规范(如单引号、末尾逗号、注释等),将抛出SyntaxError异常。
1、准备一个标准JSON格式的字符串,例如:const str = '{"name":"李四","active":true,"scores":[95,87,91]}';
2、调用JSON.parse()方法传入该字符串:const data = JSON.parse(str);
3、验证解析结果,可通过console.log(data)查看其类型与内容,确认已还原为对象而非字符串。
4、如需处理可能的解析错误,应包裹在try-catch语句中:try { JSON.parse(invalidStr); } catch (e) { console.error("解析失败:", e.message); }
三、处理特殊数据类型的转换限制
JSON.stringify()和JSON.parse()无法直接处理Date、RegExp、Function、undefined、Infinity、NaN及循环引用等类型。需通过自定义replacer或reviver函数进行干预。
标签: html5 javascript java html js json 安全防护 字符串解析
还木有评论哦,快来抢沙发吧~