现在来看一下它在web的使用:
因为语言的不同,在action中对json的使用方式也不一样,但思路是一样的,那就是将json转换为对象或数组。你使用哪种语言,请参照本语言使用json的方式。
1、使用javascript操作json
在js中创建一个json对象:
var obj= { name: " 张三 " , "sex" : ' 男 ' } ;
alert(obj.sex); //使用
在实际应用中,有可能从后台返回一个json对象进行解析,代码如下:
eval(obj); //json Object --> JavaScript Object
alert(obj.sex);
eval 函数非常快,但是它可以编译任何 javascirpt 代码,这样的话就可能产生安全的问题。eval 的使用是基于传入的代码参数是可靠的假设的,有一些情况下,可能客户端是不可信任的。
2、使用jQuery操作json
使用jQuery来解析json,要使用一个jQuery的扩展来实现 jquery.json-2.4.js
1.首先,在javascript中要获取前端页面中所有输入域的值,保存到数组或一个对象中,这个对象可以不以json的形式保存,而以js的对象形式保存(目的是为了说明jQuery.js的用法)。
2.将js对象或数组转换成JSON格式。导入jQuery.js及其扩展jquery.json.js,使用(
$.toJSON( jsObj ); )代码如下:
var jsObj= {plugin: 'jquery-json', version: 2.4};
var encoded = $.toJSON( jsObj ); // '{"plugin":"jquery-json","version":2.4}'
通过上面的代码,这个对象或数组就被保存成为了JSON格式的数据了。
3.将这个JSON对象传入action中进行处理,然后返回。
4.如果返回的是一个json,那么各户端接收以后需要将json格式的数据转换为javascrip中的对象或数组(
$.evalJSON( jsonObj ); ),代码如下:
var jsObj= {plugin: 'jquery-json', version: 2.4};
var jsonObj= $.toJSON( jsObj ); // '{"plugin":"jquery-json","version":2.4}'
var javascriptObj= $.evalJSON( jsonObj );
alert(javascriptObj.plugin); // "jquery-json" ;转换后使用javascript对象
alert(javascriptObj.version); // 2.4
jQuery的下载地址:
http://jquery.com/download/
jquery-json扩展的下载地址:
http://code.google.com/p/jquery-json/
3、使用prototype操作jsos
将js对象或数组转换成JSON格式。导入prototype.js,使用代码如下:
对象.toJSON();
//或者
数组.toJSON();
将json格式的数据转换为javascrip中的对象或数组。代码如下:
json对象.evalJSON();
好了,这样就转换成js中的对象或数组了。同样你也可以使用javascript中的eval函数进行转换(
eval(json对象))。
还有如json.js的框架,也能转换json,这里不再敷述,原因是jQuery.js,prototype.js的功能已经十分强大,已经没有必要再使用json.js了。使用时建议只使用一种,不然会有冲突。
附件中带有jQuery和prototype的框架及说明文档
分享到:
相关推荐
JSON-RPC-Java可运行在Servlet容器中如Tomcat也可以运行在JBoss与其它J2EE应用服务器中因此可以在一个基于JavaScript与DHTML的Web应用程序中利用它来直接调用普通Java方法与EJB方法。我们可以很方便的使用JSON-RPC-...
在web项目中经常会用到json数据(如:struts2处理请求返回json数据给jsp解析),因此,JSONObject对象是必备的,这时就需要引入相关的jar包了。 json所需要的jar包如下: json-lib-2.4-jdk15.jar json所依赖的jar...
前端开源库-json-web-storageJSON Web存储,简单的localstorage/sessionstorage包装器,提供与自动JSON序列化完全相同的API
需要在 WEB-INF\lib 中copy 文件: json-lib-2.2.2-jdk15.jar 和下面几个依赖包 commons-beanutils-core-1.7.0.jar commons-collections-3.2.1.jar commons-lang-2.3.jar commons-logging-1.1.jar ezmorph-1.0.5.jar
Api-laravel-json-api-paginate.zip,一个很好地处理json api规范的分页器一个很好地处理json api规范的分页器,一个api可以被认为是多个软件设备之间通信的指导手册。例如,api可用于web应用程序之间的数据库通信。...
Angular-Angular6-json-schema-form.zip,angular2-json-schema-formangular6-json-schema-form的角v6 。,Angularjs于2016年发布,是Angularjs的重写版。它专注于良好的移动开发、模块化和改进的依赖注入。angular的...
JSON-RPC-Java可运行在Servlet容器中如Tomcat也可以运行在JBoss与其它J2EE应用服务器中因此可以在一个基于JavaScript与DHTML的Web应用程序中利用它来直接调用普通Java方法与EJB方法。我们可以很方便的使用JSON-RPC-...
json-ajax-servlet 将json形式的字符串转换成json对象
react-jsonschema-form - 一个React组件用于从JSONSchema构建Web表单
json依赖包,在生成json对象字符串传输到前台的时候方便处理,而且很多浏览器都支持直接解析json对象。
json-server-router 是json-server中间件,其作用是提供一个简明的方式构建出各种路由接口
利用JSON-RPC-Java构建下一代Web应用程序.zip
3、如果表名和属性不按第一步建,则要改UserDaoImp.java(位于\json-struts-android-mysql代码文件\服务端\JsonWeb\src\com\dongdbimp)的"PreparedStatement ps=conn.prepareStatement("select * from usermsg where ...
由于轻量级库是Web应用程序中的新常态,因此在json文件中拥有逻辑将是管理应用程序代码的有效方法。 说了这么多,可以通过丢弃其他业务规则文件格式(例如xml或excel)来绕开冗余,这种格式通常很忙于解析,并给...
slurm-web, Slurm HPC工作负载管理器 web JS仪表板和 JSON REST API slurm站点 概述Slurm web提供了一个web仪表板和一个 REST API 到Slurm高性能...后端 REST API 是使用 Flask web框架在 python 中完成的。 它被设计
JSON at Work - Practical Data Integration for the Web
此程序包需要在项目中包含Newtonsoft.Json.dll文件。 因此,它不必与我的jillejr.newtonsoft.json-for-unity软件包一起使用! 我认识到Unity生态系统中有太多的Newtonsoft.Json分支和变体。 该软件包可以与以下任何...
eth-json-rpc-过滤器 中间件,实现以太坊过滤方法。 由和web3提供程序接口( web3.currentProvider )支持。 支持的rpc方法 eth_newFilter eth_newBlockFilter eth_newPendingTransactionFilter eth_...
AJAX JSON在Web-IM系统中的应用,张刚,詹舒波,即时消息传递正在改变人们的生活。它是一个非常有用的工具,结合了电子邮件、Internet电话以及文件传输应用程序的优点。用户甚至可�
Angular-json-schema-form-core.zip,核心库json模式表单核心,Angularjs于2016年发布,是Angularjs的重写版。它专注于良好的移动开发、模块化和改进的依赖注入。angular的设计目的是全面解决开发人员的web应用程序...