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和jsonp格式数据返回
您所见过的最美丽,最可定制的JSON / JSONP荧光笔。 这是一个Chrome扩展程序,用于打印JSON和JSONP。 笔记: 此扩展名可能与其他JSON荧光笔/格式化程序一起崩溃,您可能需要禁用它们 要突出显示本地文件和隐身...
「JSON与JSONP的区别」.docx「JSON与JSONP的区别」.docx
详解JSON和JSONP劫持以及解决方法.docx
chrome json viewer插件;支持json/jsonp;格式化查看api接口返回的数据;测试、开发必备插件,你值得拥有~
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别.docx
JSON to JSONP- Bypass Same-Origin Policy
CSSPeeper是一款专为设计师量身打造的可视觉化网站CSS样式表检查插件。 CSSViewer是一款可以自由查看当前网页中元素CSS的详细属性...JSON Viewer是最漂亮的、可定制的JSON/JSONP荧光笔高亮插件,用于打印JSON和JSONP。
json与jsonp知识小结(推荐).docx
JSON和JSONP JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,用于在浏览器和服务器之间交换信息。 JSONP(JSON With Padding),就是打包在函数调用中的的JSON(或者包裹的JSON)。 ...
有关json与jsonp的区别(json才是目的,jsonp只是手段)介绍如下所示: 一言以蔽之,json返回的是一串数据;而jsonp返回的是脚本代码(包含一个函数调用); JSON其实就是JavaScript中的一个对象,跟var obj={}在质...
主要介绍了Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别 的相关资料,需要的朋友可以参考下
追踪器 (是的,我画画的时候手在颤抖)rTracker 活动等它是一种可用于在... ( mysql ) 之后$ npm install$ npm startjson/jsonp 数据 我添加了一个输出 json/jsonp 的端点。 您可以从 server:port/api/users 获取输出
1.json与jsonp的引入 在ajax中 JSON用来解决数据交换问题,而JSONP来实现跨域。 备注:跨域也可以通过服务器端代理来解决; 理解:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方...
基于原生PHP写的一套完整的IP转地址模块,支持自动获取IP,也支持查询指定IP,同时支持输出json、jsonp、txt、xml、js等多种IP和地址格式,还可以细分为国家、省、市、地区,方便在各种系统里整合与调用。...
腾讯地图 Webservice API 是基于 HTTP 协议的数据接口,开发者可以使用任何客户端、 服务器和开发语言,按照腾讯地图 Webserice API 规范,按需构建 http 请求,并获取结果 数据(目前支持 json/jsonp 方式返回)。
这个工具用来分析JSON/JSONP文档,同时生成相关的文档信息与数据树状结构。[Install it from Chrome Web Store](https://chrome.google.com/webstore/detail/mijkjfpdiidomhagijpedgaeekkadlgp/details)## Change ...