JavaScript 解析 JSON 主要用 JSON.parse(),需确保输入为合法 JSON 字符串(键名双引号、无尾逗号、无注释、无 undefined/函数),并用 try…catch 捕获 SyntaxError 异常。

JavaScript 解析 JSON 主要用 JSON.parse(),它把符合 JSON 格式的字符串转成对应的 JavaScript 值(对象、数组、字符串、数字、布尔或 null)。用法简单,但出错很常见,关键在细节。
JSON 格式比 JavaScript 对象字面量更严格:键名必须双引号包裹、不能有单引号或未加引号的键、不支持尾逗号、不支持注释、不能用 undefined 或函数。
'{"name": "张三", "age": 25}'
"{name: '张三'}"(键没引号、值用单引号)'{"name": "李四",}'(末尾逗号)'{"count": undefined}'(undefined 不是合法 JSON 值)JSON.parse() 遇到非法格式会直接抛出 SyntaxError,不加错误处理会导致脚本中断。
let data;<br>try {<br> data = JSON.parse(jsonString);<br>} catch (e) {<br> console.error('JSON 解析失败:', e.message);<br> data = null;<br>}别依赖 typeof 或 === null 判断是否成功——失败时根本不会赋值。
立即学习“Java免费学习笔记(深入)”;
如果 JSON 字符串来自网络请求或用户输入,可能含 Unicode 转义(如 "\u4f60\u597d")或 UTF-8 BOM。现代浏览器基本能正确处理,但需确保:
Content-Type 包含 charset=utf-8
若遇到乱码或解析失败,先用 console.log(JSON.stringify(jsonString)) 查看原始字符串内容。
JSON.parse(str, reviver) 的第二个参数是可选函数,能在解析过程中修改每个键值对,适合转换日期字符串、过滤敏感字段等。
const obj = JSON.parse('{"created": "2023-10-05T12:00:00Z"}', (key, value) => {<br> return key === 'created' && typeof value === 'string'<br> ? new Date(value)<br> : value;<br>});<br>// obj.created 是 Date 实例注意:reviver 会递归调用,包括嵌套对象和数组项;返回 undefined 会删除该属性。
基本上就这些。核心就两条:输进来的得是标准 JSON 字符串,调用时一定包 try…catch。不复杂但容易忽略。
以上就是javascript如何解析json_有哪些注意事项的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号