`
qizhangwan
  • 浏览: 33146 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

json三种实现方式

    博客分类:
  • json
 
阅读更多
使用ajax的开发项目过程中,经常需要将json格式的字符串返回到前端,前端解析成js对象(JSON)。



ECMA-262(E3)中没有将JSON概念写到标准中,还好在 ECMA-262(E5) 中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法。



1,eval方式解析,恐怕这是最早的解析方式了。如下:





Js代码 
1.function strToJson(str){ 
2.     var json = eval('(' + str + ')'); 
3.     return json; 
4.} 



记得别忘了str两旁的小括号。



2,new Function形式,比较怪异哦。如下





Js代码 
1.function strToJson(str){ 
2.    var json = (new Function("return " + str))(); 
3.    return json; 
4.} 



3,使用全局的JSON对象,如下:





Js代码 
1.function strToJson(str){ 
2.    return JSON.parse(str); 
3.} 



目前 IE8(S)/Firefox3.5+/Chrome4/Safari4/Opera10 已实现了该方法,以下是部分资料:



http://blogs.msdn.com/ie/archive/2008/09/10/native-json-in-ie8.aspx

https://developer.mozilla.org/en/Using_JSON_in_Firefox



使用JSON.parse需严格遵守JSON规范,如属性都需用引号引起来,如下





Js代码 
1.var str = '{name:"jack"}'; 
2.var obj = JSON.parse(str); // --> parse error 
  
name没有用引号引起来,使用JSON.parse所有浏览器中均抛异常,解析失败。而前两种方式则没问题。

分享到:
评论

相关推荐

    字符串转换成json 的三种方式

    本文将详细介绍三种将字符串转换为JSON对象的方法,并探讨它们的优缺点。 1. **使用`eval`函数** 这是最传统的字符串到JSON的转换方法。`eval`函数能够执行一个字符串作为JavaScript代码,因此它可以解析JSON字符...

    Ajax的三种实现及JSON解析

    **Ajax的三种实现方式** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它的核心是JavaScript的XMLHttpRequest对象,使得前端与服务器端能够异步交互...

    字符串转换成json的三种方式

    本文将详细介绍三种方法,帮助你有效地实现这一转换。首先,让我们了解一下JSON的基本概念。 JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript编程语言的一个子集,...

    json三级联动省市县.rar

    在本示例中,"json三级联动省市县.rar" 是一个使用JSON来实现的中国省级、市级和县级数据的联动效果。这种联动通常用于下拉菜单或者搜索框中,当用户选择一个省份时,会自动加载该省份下的城市;接着选择城市后,再...

    struts2+json+jquery实现ajax登录和注册功能

    在Ajax操作中,jQuery的$.ajax()方法提供了一种简洁的方式来发起异步请求,处理服务器响应,更新DOM元素,而无需重新加载整个页面。这不仅提升了应用程序的响应速度,也改善了用户体验,特别是在登录与注册场景中,...

    three.js加载json三维模型.zip

    总结,Three.js提供了一种简便的方法来加载和展示JSON格式的三维模型,使得Web开发者能够构建丰富的3D场景,特别是在BIM领域,Three.js已经成为展示和交互BIM模型的重要工具。通过掌握Three.js加载JSON模型的技术,...

    全国城市三级联动json数据

    全国城市三级联动json数据是一种常见的数据格式...总之,全国城市三级联动json数据是Web应用中常见的一种数据组织形式,用于实现高效的地区选择功能。理解和正确使用这种数据结构对于提升用户体验和优化性能至关重要。

    VUE.js+element-ui实现JSON编辑器

    这通常需要借助JSON.parse()或第三方库如jsonlint来实现。 总的来说,这个"VUE.js+element-ui实现JSON编辑器"项目展示了如何利用现代前端技术来创建一个实用的Web应用。通过Vue.js的数据驱动和组件化特性,以及...

    android各种解析xml三种方式和json数据

    本篇文章将详细探讨XML的三种解析方法以及JSON数据的解析。这些知识点对于初学者理解Android应用的数据处理至关重要。 首先,让我们来看看XML的三种解析方式: 1. DOM解析(Document Object Model): DOM解析器会...

    json城市三级级联

    总的来说,JSON城市三级联动是通过JSON数据和jQuery的组合,实现了在网页上动态展示和选择地理位置的高效方式。这个过程涉及到前端的DOM操作、事件处理、数据交互等多个方面,对于提升用户体验和提高开发效率具有...

    Ajax AjaxPro Json几种方式写异步通讯

    以下将详细介绍这三种方式在实现异步通讯中的应用。 1. **Ajax**:Ajax的核心是通过JavaScript创建XMLHttpRequest对象,利用这个对象与服务器进行通信。通常包括以下步骤: - 创建XMLHttpRequest对象。 - 使用...

    struts2+json+jquery实现ajax数据的存取

    "Struts2+JSON+jQuery实现Ajax数据的存取"就是一个典型的示例,它结合了强大的MVC框架Struts2、轻量级的数据交换格式JSON以及高效的前端库jQuery,以实现网页上的无刷新数据交互。下面将详细介绍这三个技术及其在...

    省市县三级联动+全国行政区划json数据包

    这个资源包为前端开发者提供了一种快速集成和实现省市县三级联动的解决方案,简化了开发流程,提高了开发效率。通过理解和使用这些文件,开发者不仅可以掌握如何处理地理数据,还能学习到如何使用JavaScript进行动态...

    json.zip_C++_JSON_json 类_json 结构体

    总之,“json.zip”中的C++ JSON类库为开发者提供了一种高效、灵活的方式来处理JSON数据,避免了为每种数据结构定义单独的C++结构体。通过理解和利用这个库,你可以轻松地将JSON融入到你的C++项目中,实现数据的存储...

    Android服务器解析json数据实现下拉刷新上拉加载ListView显示

    Android中实现这种效果通常有两种方式: - 使用第三方库,如SwipeRefreshLayout(内置了下拉刷新)配合RecyclerView(支持上拉加载); - 自定义实现,监听ListView的滚动事件,判断是否达到底部或顶部来触发加载...

    Struts2+JSON+JQuery实现简单的验证

    Struts2、JSON和JQuery是Web开发中的三个关键技术,它们常常被结合使用来构建高效、动态的用户界面。在本教程中,我们将探讨如何利用这些技术实现一个简单的验证功能。 首先,Struts2是一个基于MVC(Model-View-...

    jquery+json 实现页面无刷新列表分页

    这里我们将深入探讨这个主题,包括它的原理、实现方式以及优势。 **一、页面无刷新分页原理** 页面无刷新分页的基本思想是利用AJAX(Asynchronous JavaScript and XML)技术,通过JavaScript与服务器进行异步通信...

    getJson+ashx实现数据交互(入门级)

    在本文中,我们将深入探讨如何使用`getJSON`和`.ashx`处理数据交互,特别关注C#环境下的实现。`getJSON`是jQuery库中一个非常实用的函数,用于异步获取JSON格式的数据,而`.ashx`是ASP.NET中处理HTTP请求的自定义...

    三级联动的省市县的json数据

    ### 三级联动的省市县JSON数据解析与实现 在现代Web开发中,为了提供更加便捷、高效的用户体验,三级联动选择器被广泛应用于地址选择、地区筛选等场景中。本篇文章将详细解读“三级联动的省市县JSON数据”的原理...

Global site tag (gtag.js) - Google Analytics