JavaScript将字符串转换为JSON对象的三种方法

作者:橙子时间:2026-10-27 16:42:20浏览:574

本文介绍在JavaScript中将字符串转换为JSON对象的三种常见方式。第一种使用eval函数解析,需注意括号包裹;第二种通过new Function构造器实现;第三种推荐利用json2.js库提供的JSON.parse方法,确保安全性与标准兼容性。

JavaScript字符串转JSON对象方法概述

示例1展示了在JavaScript环境中,如何将格式为JSON的字符串转换为JSON对象,其核心实现代码如后所示。

具体代码实现如下:

json = eval('('+str+')');
 

具体的操作步骤与代码示例如下:


完整的HTML页面代码示例如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JSON应用</title>
<script type="text/javascript">
function StrToJSON(str) {
json = eval('('+str+')');
return json;
}
function ToJSON(data) {
json = eval(data);
return json;
}
// JSON数据
str = '{id:1,title:"你好,朋友",addtime:"2010-05-03"}';
strJson = StrToJSON(str);
data = {id:2,title:"你好,哈哈",addtime:"2010-05-04"};
Json = ToJSON(data);
document.write(strJson.id+"、 "+strJson.title+" "+strJson.addtime+"<br />");
document.write(Json.id+"、 "+Json.title+" "+strJson.addtime+"<br />");
</script>
</head>
<body>
</body>
</html>
 

示例2展示了利用new function形式进行转换的方法。

利用new Function形式转换

第二种方法利用new Function形式,具体代码如下:

 
function strToJson(str){
var json = (new Function("return " + str))();
return json;
}

示例3展示了利用相关json2插件进行转换的实例。

利用json2插件实例转换

第三种方法借助json2.js插件实例,相关代码如下:

<script src="../jquery/jquery-1.5.2.min.js" type="text/javascript"></script>
<script src="../json2.js" type="text/javascript"></script>
var a = '{ "name": "tom", "sex": "男", "age": "24" }'; // 用于组成json的字符串;
alert("用于组成json的字符串:【"+a+"】");
var b = JSON2.parse(a); // 把字符串a转换为json格式b
var c = JSON2.stringify(a); //把json格式b转换为字符串c
alert("转换后的字符串:【"+c+"】");
 
作者最新文章