`

jquery 解析 java 后台的 json数据

阅读更多

1、初次接触jquery 与 json ,希望大家有点帮助

前台应用ajax 到后台去取json数据

  

 $.ajax({
			type: "POST",
			url: "ResourseAction!showTables.action",
			data:"",
                                                async:false,  
			success: function(jsonData){
				 var json = eval(jsonData);
				 $.each(json,function(i,n){
				   alert(json[i].name+' '+json[i].value)				
				   alert(n.name+'  '+n.value);
				 });
			   }
	});  

 

上面的两个alert打印的结果是一样的。

 

一开始向应用struts2的一个json插件,但是由于现在的这个框架很乱了,没有扩展性,所以就还是应用最原始的方法,struts2的json插件在官网上有个很好的例子:https://cwiki.apache.org/confluence/display/WW/JSON%20Plugin讲的很全面

要想在java中应用json 需要 json-lib.*.jar ,另外官网上是这样的

Json-lib requires (at least) the following dependencies in your classpath:

  • jakarta commons-lang 2.5
  • jakarta commons-beanutils 1.8.0
  • jakarta commons-collections 3.2.1
  • jakarta commons-logging 1.1.1
  • ezmorph 1.0.6

这个有于在一个现成的项目中应用,我查了一下就好像少最后一个,加了进去。

java 方面代码 ,提供了两种方法,对于json真的不熟,有熟悉的还望赐教。但是结果出来了!

/**
	 * 抽取表名,用json返回到界面
	 * @return
	 */
	public String showTables(){
		//第一种方法
		/*JSONObject json = new JSONObject();
		JSONArray jsonArray = new JSONArray();
		json.element("name", "table1");
		json.element("value", "table1");
		jsonArray.element(json);
		json = new JSONObject();
		json.element("name", "table2");
		json.element("value", "table2");
		jsonArray.element(json);
		json = new JSONObject();
		json.element("name", "table3");
		json.element("value", "table3");
		jsonArray.element(json);
		PrintWriter out= null;
		try {
			HttpServletResponse response = ServletActionContext.getResponse();
			out = response.getWriter();
			System.out.println("json:"+jsonArray);
			out.println(jsonArray);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}*/
		//上述打印内容为: json:[{"name":"table1","value":"table1"},{"name":"table2","value":"table2"},{"name":"table3","value":"table3"}]
		
		//第二种方法
		StringBuffer bf = new StringBuffer("");
		bf.append("[");
		bf.append("{'name':'table1','value':'table1'},");
		bf.append("{'name':'table2','value':'table2'}");
		bf.append("]");
		PrintWriter out= null;
		HttpServletResponse response = ServletActionContext.getResponse();
		try {
			out = response.getWriter();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("json:"+bf);
		out.println(bf);
		//上述打印内容为: json:[{'name':'table1','value':'table1'},{'name':'table2','value':'table2'}]
		return null;
	}
第二种方法前台调用 var json = eval(data);
            $.each(json,function(i,n){ 
              //alert(json[i].name);                   
            });     

 

不过个人认为,jquery + ajax + json 不如一个dwr就直接给解决了。

 

下面是在别人网站上粘贴的一下东西

01.jquery解析json数据:  
02.var data="   
03.{   
04.root:   
05.[   
06.{name:'1',value:'0'},   
07.{name:'6101',value:'北京市'},   
08.{name:'6102',value:'天津市'},   
09.{name:'6103',value:'上海市'},   
10.{name:'6104',value:'重庆市'},   
11.{name:'6105',value:'渭南市'},   
12.{name:'6106',value:'延安市'},   
13.{name:'6107',value:'汉中市'},   
14.{name:'6108',value:'榆林市'},   
15.{name:'6109',value:'安康市'},   
16.{name:'6110',value:'商洛市'}   
17.]   
18.}";   
19.//data为字符串类型 则要将字符串类型转换成json数据类型  
20.var jsondatas=eval("("+data+")");  
21.$.each(jsondatas.root,function(i,n){  
22.alert("name"+n.name+"value"+n.value);  
23.}  
24.)  
25.//以下为数组类型字符串 转换成json 字符串 解析  
26.    //数组形式的json字符串  
27.    var jsondata="[{name:'1',value:'0'},   {name:'6101',value:'西安市'},   {name:'6102',value:'铜川市'},   {name:'6103',value:'宝鸡市'},   {name:'6104',value:'咸阳市'},   {name:'6105',value:'渭南市'},   {name:'6106',value:'延安市'},   {name:'6107',value:'汉中市'},   {name:'6108',value:'榆林市'},   {name:'6109',value:'安康市'},   {name:'6110',value:'商洛市'}]";  
28.var json=eval(jsondata);  
29.$.each(json,function(i,n){  
30.alert(json[i].name);  
31.alert(json[i].value);//根据索引取值  
32.});  
33.//json数据字符 不需要转换  
34.var json={"Products":[   
35.{"orderid":"11077","customerid":"RATTC"},   
36.{"orderid":"11078","customerid":"RATT"}   
37.],   
38."Img":[{"id":"12345","url"   
39.:"image/1.jpg"}   
40.]};   
41.$.each(json.Products,function(i,n){  
42.   alert(n.orderid);  
43.})  

 

 

分享到:
评论
1 楼 丹寺丁 2013-11-21  

相关推荐

    jquery与java交互通过json传递数据的经典实例

    以下是使用jQuery进行AJAX请求并处理JSON数据的基本步骤: 1. **创建AJAX请求**:使用jQuery的`$.ajax()`函数发起一个请求。设置URL为Java后台的处理接口,方法通常为POST或GET,`dataType`参数设为'json',表示...

    jQuery中ajax请求后台返回json数据并渲染HTML的方法

    3. 在前端处理返回的JSON数据:在$.ajax()方法的success回调函数中,返回的数据会被处理。这里使用了eval()函数来转换字符串形式的JSON数据为JavaScript对象。然而,在实际开发中,出于安全考虑,不建议使用eval()...

    jquery转换java对象

    这篇博客“jquery转换java对象”可能讨论的是如何在前端使用jQuery处理JSON格式的数据,并将其转换成Java后台可以理解的对象。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,...

    Java中后台JSON转换包

    Java中的JSON转换是Web开发中...以上就是关于Java后台JSON转换的基础知识,包括使用`org.json`库进行JSON操作,以及与JavaScript前端通过Ajax进行数据交互。理解并熟练掌握这些技术对于进行前后端数据通信至关重要。

    Highcharts AJAX后台JAVA JSON 曲线报表完美可运行例子 不包含官方JS 自己下载

    在这个"Highcharts AJAX后台JAVA JSON 曲线报表完美可运行例子"中,我们将探讨如何结合Java后端和JSON数据格式,通过AJAX技术在网页上展示动态曲线报表。 首先,`index_lineAjax.htm`是前端HTML文件,它包含了...

    json数据jquery异步示例

    6. **后台解析JSON**: 服务器端(可能是PHP, Node.js, Java等)接收到JSON数据后,需要解析成相应的数据结构。例如,在Node.js中可以使用`JSON.parse()`,在PHP中使用`json_decode()`。 7. **新增行和删除行**: 在...

    ajax从后台读json数据,jquery在页面简析

    在本示例中,jQuery将用于发起Ajax请求,接收并解析JSON数据,然后在页面上以表格形式展示这些数据,实现局部刷新。 **Ajax与jQuery结合使用** 1. **创建Ajax请求**:在jQuery中,可以使用`$.ajax()`函数发起一个...

    java JQuery json的使用及包下载

    JSON结构与JavaScript对象相似,这使得JavaScript可以直接处理JSON数据,无需额外的解析步骤。 在Java和JQuery的结合使用中,JSON扮演着重要的角色。例如,当用户在前端进行操作时,JQuery可以通过Ajax发送HTTP请求...

    jquery+flexigrid+json的java例子(网上收集的)

    Java应用程序可能会将数据库中的数据转换为JSON格式,然后通过AJAX请求发送到前端,Flexigrid再解析这些JSON数据,填充到表格中。 **Java** 在后端,这个例子使用了Java来处理数据和生成JSON响应。可能使用了诸如...

    原生AJAX或jQuery实现二级联动选择以及解析XML和JSON数据格式

    这些库在Web开发中可能被用作后台服务的组件,例如处理AJAX请求时的业务逻辑,或者解析XML和JSON数据。 总之,原生AJAX和jQuery在Web开发中扮演着重要角色,它们让页面能够动态地与服务器通信并更新内容。结合XML和...

    Jquery+ajax+json+servlet

    7. jQuery的Ajax回调函数接收到响应,解析JSON数据,更新页面内容。 总的来说,`jQuery`简化了前端的JavaScript编程,`Ajax`提供了无刷新的交互体验,`JSON`作为数据交换格式提高了效率,而`Servlet`则负责后台的...

    jQuery+get/post+Ajax+Json

    总结来说,"jQuery+get/post+Ajax+Json"的组合是现代Web开发中常用的数据交互技术,它使得前端可以轻松地与后端进行JSON数据的交换,提升了用户体验,降低了服务器负载。通过jQuery的便捷API,我们可以快速实现异步...

    基于Jquery+Ajax+Json实现分页显示附效果图

    前端使用JQuery与Ajax技术获取后端返回的JSON数据,并根据用户选择的页数来动态渲染页面。 ```javascript function getJSONData(pageNumber) { $.getJSON("blackList.ce", function(data) { var totalCount = ...

    jQuery+json+servlet 动态取后台数据

    // 在这里处理返回的JSON数据 console.log(data); }, error: function(xhr, status, error) { // 处理错误情况 console.error(error); } }); ``` 接着,我们讨论servlet。Servlet是Java Web开发中的一个组件...

    Jquery ajax json 总结

    在客户端,接收到 JSON 数据后,JQuery AJAX 的回调函数可以解析并处理这些数据。对于 JSON 对象,可以使用 `eval()` 或 `JSON.parse()`(推荐)将其转换为 JavaScript 对象,然后通过点号或方括号语法访问其属性。...

    json数据处理常用前后台文件

    标题中提到的"json数据处理常用前后台文件"主要包括了JSON相关的JavaScript库和Java的jar包,这些都是在处理JSON数据时非常重要的工具。 1. **json.js**:这是一个JavaScript库,通常用于在浏览器环境中解析和生成...

    jquery+ajax+json+servlet实例源码

    4. **前后端数据交互**:在前端,jQuery的AJAX请求会发送用户数据到Servlet,Servlet处理后返回JSON数据。前端再通过回调函数处理这些数据,例如更新DOM元素,展示在页面上。整个过程无刷新,提高了用户体验。 5. *...

    JQueryMobile与后台通信

    3. **$.getJSON()和$.get(),$.post()**:针对JSON数据的GET请求,可以使用$.getJSON();而$.get()和$.post()则是简化版的GET和POST请求。 **二、Page Events:处理页面生命周期** 1. **页面生命周期**:jQuery ...

    struts2+jquery执行ajax并返回json类型数据(源码)

    这里,你可以解析返回的JSON数据,并使用jQuery操作DOM,将数据展示在页面上。 5. **运行与测试**:将项目导入Eclipse,运行Web服务器,然后在浏览器中访问你的HTML页面。触发Ajax请求,观察是否能正确接收到服务器...

    ajax,jQuery 例子大全,json例子

    在处理JSON数据时,jQuery的`$.getJSON()`方法特别有用,它会自动将返回的JSON数据解析为JavaScript对象,方便进一步处理。 **示例** 1. **$.get()** 示例: ```javascript $.get('data.txt', function(data) { ...

Global site tag (gtag.js) - Google Analytics