怎样实现json文本转换为JavaScript对象

我们都知道,在实际的项目开发过程中,json会经常应用到的场景是:在后台应用程序中将响应数据封装成json格式,传到前台页面之后,需要将json格式转换为JavaScript对象,然后在网页中使用该数据

那么,如何将json格式的数据转换为javascript对象

以下有两种解决方案:

1.利用json解析器(JSON.parse(str))的方式,这种方式更安全,现在主流的,较新的浏览器中都包含了json解析器

<script>  
    var txt = '{ "info" : [' +  
    '{ "name":"张三" , "sex":"男" },' +  
    '{ "name":"李四" , "sex":"男" },' +  
    '{ "name":"赵五" , "sex":"男" } ]}';  
    obj = JSON.parse(txt);  
    document.getElementById("name").innerHTML=obj.info[0].name   
    document.getElementById("sex").innerHTML=obj.info[0].sex   
</script>

2.利用传统的eval函数转换:这个方式有潜在的不安全性,

eval函数利用的是JavaScript的编译器原理,为了保证语法解析正确,需要将文本包围在括号中,

<script>  
    var txt = '{ "info" : [' +  
    '{ "name":"张三" , "sex":"男" },' +  
    '{ "name":"李四" , "sex":"男" },' +  
    '{ "name":"赵五" , "sex":"男" } ]}';  
    var obj = eval ("(" + txt + ")");  
    document.getElementById("name").innerHTML=obj.info[0].name   
    document.getElementById("sex").innerHTML=obj.info[0].sex   
</script>

综上所述,推荐使用第一种方案,即用JSON.parse(str)的方式将json文本转换为JavaScript对象。

欢迎分享本文,转载请保留出处:前端ABC » 怎样实现json文本转换为JavaScript对象

分享到:更多 ()

发表评论 0