JavaScript反序列化JSON字符串的两种实现方式

作者:青柠时间:2026-10-22 16:07:25浏览:328

本文详解JavaScript中反序列化JSON字符串的两种常用方法:使用eval函数和使用JSON.parse。通过对比示例代码,分析两者的实现差异及安全性,帮助开发者选择更安全的字符串转对象方案。

JavaScript反序列化JSON字符串概述

本文通过具体实例介绍在JavaScript环境下如何对JSON字符串进行反序列化操作,供读者参考学习。

在JavaScript开发中,将JSON字符串转换为对象是常见需求,具体可以通过以下两种途径实现。

具体包含以下两种主要方法:

使用eval函数实现

第一种方法是利用eval函数进行处理。


var jsonText = '{"name":"acwong","age":23,"address":{"province":"GuangDong","city":"GuangZhou"},"friends":["bc","cc","dc"],"blog":"//www.jb51.net"}';
var person = eval("("+jsonText+")");
console.log(person)

借助在线HTML/CSS/JavaScript代码运行工具(http://tools.jb51.net/code/HtmlJsRun)执行上述代码,可得如下运行结果:

 JavaScript反序列化JSON字符串概述

使用JSON.parse解析

第二种方法是采用JSON.parse函数进行解析。


var jsonText = '{"name":"acwong","age":23,"address":{"province":"GuangDong","city":"GuangZhou"},"friends":["bc","cc","dc"],"blog":"//www.jb51.net"}';
var person = JSON.parse(jsonText);
console.log(person);

同样使用在线HTML/CSS/JavaScript代码运行工具(http://tools.jb51.net/code/HtmlJsRun)进行测试,运行结果如下:

 JavaScript反序列化JSON字符串概述

JSON对象内部结构包含以下要素:

 JavaScript反序列化JSON字符串概述

从结构可以看出,该对象主要提供两个核心方法:parse()负责将字符串反序列化为对象,而stringify()则用于将对象序列化为字符串。

此外,推荐参考以下几款实用的JSON在线工具:

在线JSON代码检验、格式化及美化工具: http://tools.jb51.net/code/json

JSON在线格式化工具: http://tools.jb51.net/code/jsonformat

在线XML与JSON互转工具: http://tools.jb51.net/code/xmljson

JSON代码在线格式化、美化、压缩、编辑及转换工具: http://tools.jb51.net/code/jsoncodeformat

在线JSON压缩及转义处理工具: http://tools.jb51.net/code/json_yasuo_trans

如需深入了解JavaScript相关知识,可查阅本站系列专题:《JavaScript中json操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》以及《JavaScript数学运算用法总结》。

期望上述内容能对各位的JavaScript编程实践提供有益帮助。

作者最新文章