1 java解析json串
import net.sf.json.JSONArray; import net.sf.json.JSONObject; String jsonResult= {"count":"279678", "page":"24","info":[ { "id":"100001790666", "title":"供应MP4"} ,{ "id":"100001790667", "title":"供应mp3"} ] } //解析json串 JSONObject jsonobj=JSONObject.fromObject(jsonResult); //字符串 String count=jsonobj.get("count").toString(); //数组 JSONArray array = jsonobj.getJSONArray("info"); for (int k = 0; k < array.size(); k++) { JSONObject jsonobj = JSONObject.fromObject(array.getString(k)); String id=jsonobj.get("id").toString(); String title = (String) jsonobj.get("title"); }
2 List转json串(数组)
import net.sf.json.JSONSerializer;
List<String> list=xxx;
String data =JSONSerializer.toJSON(list).toString(); //["中厚板","锅炉管","合金钢"]
runData.getResponse().setContentType("application/json;charset=gbk");//或utf8
PrintWriter pw = runData.getResponse().getWriter();
pw.print(data);
pw.close();
jQuery.ajax({ type: "POST", url: url, dataType:"json", data: "industryId="+industryId, success: function(data){ //data:Array[3] for(var i=0;i<data.length;i++){ var supcat=data[i]; } } });
3 java后台拼接的json串
//java后台拼接的json串
String result= "{\"searchTotal\":\""+searchTotal+"\",\"keyword\":\""+keywords+"\"}";
HttpServletResponse theRes=data.getResponse();
theRes.setCharacterEncoding("gbk");
theRes.setContentType("text/xml");
theRes.getWriter().write(result);
theRes.getWriter().close();
jQuery.ajax({ type: "POST", url: url, dataType:"json", success: function(obj){ var total=obj.searchTotal; var keyword=obj.keyword; },error: function(xhr,status,errMsg){ } })
注:如果不使用jquery(dataType:"json") ,用js需要var jsonobj=eval('('+obj+')');
为什么要 eval这里要添加'('+obj+')'呢?
原因在于:eval本身的问题。 由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。
加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。所以下面两个执行结果是不同的:
alert(eval("{}"); // return undefined
alert(eval("({})");// return object[Object]
4 jsonp
跨域需要使用,ajax可以使用firebug控制台运行,看页面变化来测试代码。
String callback = request.getParameter("callback"); String data = JSONSerializer.toJSON(list).toString(); response.setContentType("application/json;charset=gbk"); PrintWriter pw = response.getWriter(); if(callback != null){ pw.print(callback+"("+data+")"); }else{ pw.print(data); } pw.close();
var url = "http:xxx?callback=?"; var industryId=jQuery("#industryId").val(); jQuery.ajax({ type: "get", //post url: url, dataType:"jsonp", //contentType: "application/x-www-form-urlencoded; charset=utf-8", //timeout:2000, data: "industryId="+industryId, success: function(data){ if(data!=null){ { var html=""; for(var i=0;i<data.length;i++){ var supcatName=data[i].supcatName; } } jQuery("#moreSupcat ul").html(html); } });
附件有jar包
相关推荐
json-formatter, 使 json/jsonp易于阅读 JSON格式化程序当你在浏览器选项卡中访问 in'直接'时,很好的打印JSON和tmodel的Chrome 扩展。特性JSONP支持快速,即使在长页面上有效的JSON页面- URL不重要语法高亮显示带有...
json-viewer, 它是用于打印JSON和JSONP的Chrome 扩展 JSON查看器 你的眼睛所见过的最漂亮和可以定制的json/。 它是用于打印JSON和JSONP的Chrome 扩展。注释:这里扩展可能会与其他JSON萤火虫/格式化程序发生碰撞,你...
JSON(JavaScript Object Notation)和JSONP(JSON with Padding)是两种常见的数据交换格式,尤其在Web开发中广泛使用。本文将深入探讨这两种格式的特点、用途以及它们在跨域数据请求中的作用。 **1. JSON简介** ...
"详解JSON和JSONP劫持以及解决方法" 本文主要介绍了JSON和JSONP劫持的概念、攻击过程、解决方法以及实例代码,旨在帮助读者深入理解这两种攻击方式,并提供实际有效的解决方法。 JSON劫持 JSON劫持,也称为JSON ...
您所见过的最美丽,最可定制的JSON / JSONP荧光笔。 这是一个Chrome扩展程序,用于打印JSON和JSONP。 笔记: 此扩展名可能与其他JSON荧光笔/格式化程序一起崩溃,您可能需要禁用它们 要突出显示本地文件和隐身...
Node.js实现JSON和JSONP服务是一种常见的需求,尤其在需要进行跨域数据访问时。JSON是一种轻量级的数据交换格式,基于JavaScript的一个子集。而JSONP(JSON with Padding)是为了解决同源策略限制而发明的一种跨域...
JSONP(JSON with Padding)是JSON的一种使用模式,它允许Web页面通过`<script>`标签来跨域请求数据。由于同源策略的限制,JavaScript通常不能直接向其他域名请求数据,但`<script>`标签却不受此限制,JSONP正是利用...
JSON(JavaScript Object Notation)和JSONP(JSON with Padding)就是为了解决这两个问题而产生的技术。 JSON是一种轻量级的数据交换格式,它基于纯文本,拥有良好的跨平台传递能力,并且与JavaScript有原生的集成...
主要给大家深入的介绍了关于xhr(XMLHttpRequest)/jsonp请求之abort的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
chrome json viewer插件;支持json/jsonp;格式化查看api接口返回的数据;测试、开发必备插件,你值得拥有~
### Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别 #### 一、Jsonp 关键字详解 Jsonp(JSON with Padding)是一种跨域数据交互协议,它允许在一个网页中请求并获取另一个域的服务端数据。Jsonp 的工作...
JSONP(JSON with Padding)是一种解决浏览器同源策略限制的技术,允许Web页面从其他域名请求数据。由于JavaScript不能直接通过Ajax进行跨域请求,但可以加载跨域的JavaScript文件,JSONP利用这个特性,通过在服务器...
CSSPeeper是一款专为设计师量身打造的可视觉化网站CSS样式表检查插件。 CSSViewer是一款可以自由查看当前网页中元素CSS的详细属性...JSON Viewer是最漂亮的、可定制的JSON/JSONP荧光笔高亮插件,用于打印JSON和JSONP。
Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展且易于管理的企业级应用程序。它结合了MVC设计模式,使得开发人员...在实际开发中,还应注意安全问题,如防止XSS和CSRF攻击,以及正确处理JSONP跨域请求等。
2. **JSON和JSONP**:JSON(JavaScript Object Notation)是用于数据交换的标准格式,而JSONP(JSON with Padding)是一种跨域数据交互协议,通过动态插入`<script>`标签来规避同源策略的限制。 - `serverjson2....
### JSON与JSONP知识点详解 #### 一、JSON简介 **JSON**(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 ##### JSON的基本...
$.getJSON("http://localhost:8080/Jsonp/jsonp.jsp?callback=?", function(json) { alert(json[0].name); }); </script> ``` 在jQuery的示例中,`callback=?`表示jQuery会自动处理回调函数名的传递和函数的...
有关json与jsonp的区别(json才是目的,jsonp只是手段)介绍如下所示: 一言以蔽之,json返回的是一串数据;而jsonp返回的是脚本代码(包含一个函数调用); JSON其实就是JavaScript中的一个对象,跟var obj={}在质...
而JSONP(JSON with Padding)则是一种非官方的解决JSON跨域问题的技术。 在Web开发中,浏览器的同源策略(Same-Origin Policy)是一项重要的安全机制,它限制了来自不同源的“脚本”之间交互。这意味着,一个网页...