本文将带您了解关于Java中如何返回Json数组的新内容,同时我们还将为您解释java如何返回json数据的相关知识,另外,我们还将为您提供关于AJAXMVC服务器返回Json数据,客户端获取Json
本文将带您了解关于Java中如何返回Json数组的新内容,同时我们还将为您解释java如何返回json数据的相关知识,另外,我们还将为您提供关于AJAX MVC 服务器返回Json数据,客户端获取Json数据、ajax如何经过后台返回json数组以及在在js中得到json对象、ajax调用返回php接口返回json数据 ajax jsonp ajax json实例 ajax获取后台json数、Ajax返回Json在Java中的实现的实用信息。
本文目录一览:- Java中如何返回Json数组(java如何返回json数据)
- AJAX MVC 服务器返回Json数据,客户端获取Json数据
- ajax如何经过后台返回json数组以及在在js中得到json对象
- ajax调用返回php接口返回json数据 ajax jsonp ajax json实例 ajax获取后台json数
- Ajax返回Json在Java中的实现
Java中如何返回Json数组(java如何返回json数据)
期望返回如下格式的数据
{
"ResultId": "1",
"ResultDetail": "Data",
"Data": [
{
"ListSeqNo": 2344,
"HeadSeqNo": 2342,
"SourcePath": "D:\ABC",
"Source": "Schemas.rar",
"DestPath": "D:\TransportSea",
"SourceType": "txt",
"IsRun": 1,
"RunParams": "",
"IsDown": "0",
"FileContents": ""
},
{
"ListSeqNo": 8,
"HeadSeqNo": 2,
"SourcePath": "ABC",
"Source": "Schemas.rar",
"DestPath": "D:\TransportSea",
"SourceType": "dir",
"IsRun": 1,
"RunParams": "",
"IsDown": "0",
"FileContents": ""
}
]
}
Java代码如下 - 这个方法很好用
JSONObject jsonobject = new JSONObject();
List<Map<String, Object>> statusFlowList = null;
String data = null;
//查询数据
statusFlowList = MSGService.getStatusFlow(statusFlow);
//处理数据 - 转为json字符串
if(null != statusFlowList && statusFlowList.size()>0) {
data = JSON.toJSONString(statusFlowList, SerializerFeature.WriteMapNullValue);
//data = data.replace("null", "\"\"");
}
//处理数据 - 封装返回数据
jsonobject.put("result", "1");
jsonobject.put("info", "");
jsonobject.put("data", null==data? "" : data);
return jsonobject.toString();
Java代码如下 - 这个方法好笨啊
//import net.sf.json.JSONArray;
//import net.sf.json.JSONObject;
List<AmAppManagerConfig> aamConfigList = clsDataService.queryCLS008Two(msgForm);
if(null != aamConfigList && aamConfigList.size()>0) {
//存在数据,封装数据进行返回
JSONObject jsonObject08 = new JSONObject();
info = "Data";
result = "1";
jsonObject08.put("ResultId", result);
jsonObject08.put("ResultDetail", info);
JSONArray jsonArray = new JSONArray();
for(AmAppManagerConfig am :aamConfigList) {
JSONObject jsonObjectData = new JSONObject();
jsonObjectData.put("ListSeqNo",am.getListSeqNo() != null ? am.getListSeqNo():""); //顺序号
jsonObjectData.put("HeadSeqNo",am.getHeadSeqNo() != null ? am.getHeadSeqNo():""); //头序号
jsonObjectData.put("SourcePath",am.getSourcePath() != null ? am.getSourcePath():""); //目录地址
jsonObjectData.put("Source",am.getSource() != null ? am.getSource():""); //文件或目录名
jsonObjectData.put("DestPath",am.getDestPath() != null ? am.getDestPath():""); //应用所在目录
jsonObjectData.put("SourceType",am.getSourceType() != null ? am.getSourceType():""); //目录类型
jsonObjectData.put("IsRun",am.getIsRun() != null ? am.getIsRun():""); //可运行
jsonObjectData.put("RunParams",am.getRunParams() != null ? am.getRunParams():""); //运行参数
jsonObjectData.put("IsDown",am.getIsDown() != null ? am.getIsDown():""); //是否下载
jsonObjectData.put("FileContents",am.getFileContents() != null ? new String(am.getFileContents().getBytes((long)1, (int)am.getFileContents().length())):""); //INI配置
jsonArray.add(jsonObjectData);
jsonObject08.element("Data", jsonArray);
jsonObject08.getJSONArray("Data");
}
String decodeDataStr = new String(Base64.encodeBase64(jsonObject08.toString().getBytes()));
System.out.println("decodeDataStr---->" + decodeDataStr);
return decodeDataStr;
}else {
//未查询到数据
JSONObject jsonObject08 = new JSONObject();
info = "客户端ID未授权";
result = "0";
jsonObject08.put("ResultId", result);
jsonObject08.put("ResultDetail", info);
String decodeDataStr = new String(Base64.encodeBase64(jsonObject08.toString().getBytes()));
return decodeDataStr;
}
AJAX MVC 服务器返回Json数据,客户端获取Json数据
<>
控制器 Controller
视图 View
ajax如何经过后台返回json数组以及在在js中得到json对象
首先是 前台ajax代码
$.ajax( {
type : "POST",
url : "url",
data: "",
success : function(msg) {
//此处msg并不是json对象,需要转换
json = JSON.parse(msg);
}
然后是后台:
这边如果是个list或数组
可以用
JSONArray jsonmap = JSONArray .fromObject(list);
如果是map<String,Object>如map<String,List>
就用
JSONObject jsonmap = JSONObject.fromObject(tMap); //System.out.println(jsonmap); //List<String> strList = new ArrayList<String>(); pWriter.print(jsonmap); pWriter.flush(); pWriter.close();
ajax调用返回php接口返回json数据 ajax jsonp ajax json实例 ajax获取后台json数
php代码如下:
<span><?php </span>header(<span>''Content-Type: application/json''</span>); header(<span>''Content-Type: text/html;charset=utf-8''</span>); <span>$email </span><span>= </span><span>$_GET[</span><span>''email''</span><span>]</span>; <span>$user </span><span>= </span><span>[]</span>; <span>$conn </span><span>= @</span>mysql_connect(<span>"localhost"</span>,<span>"Test"</span>,<span>"123456"</span>) <span>or die</span>(<span>"Failed in connecting database"</span>); mysql_select_db(<span>"Test"</span>,<span>$conn</span>); mysql_query(<span>"set names ''UTF-8''"</span>); <span>$query </span><span>= </span><span>"select </span><span><em>*</em></span><span> from UserInformation where email = ''"</span><span>.</span><span>$email</span><span>.</span><span>"''"</span>; <span>$result </span><span>= </span>mysql_query(<span>$query</span>); <span>if </span>(<span>null </span><span>== </span>(<span>$row </span><span>= </span>mysql_fetch_array(<span>$result</span>))) <span>{ </span><span>echo </span><span>$_GET[</span><span>''callback''</span><span>]</span><span>.</span><span>"(no such user)"</span>; <span>} </span><span>else </span><span>{ </span><span>$user[</span><span>''email''</span><span>] </span><span>= </span><span>$email</span>; <span>$user[</span><span>''nickname''</span><span>] </span><span>= </span><span>$row[</span><span>''nickname''</span><span>]</span>; <span>$user[</span><span>''portrait''</span><span>] </span><span>= </span><span>$row[</span><span>''portrait''</span><span>]</span>; <span>echo </span><span>$_GET[</span><span>''callback''</span><span>]</span><span>.</span><span>"("</span><span>.</span>json_encode(<span>$user</span>)<span>.</span><span>")"</span>; <span>} </span><span>?></span></span>
<script> $.ajax({ url: "http://test.localhost/UserInterfaceForChatroom/UserInformation.php?email=pshuyue@gmail.com", type: "GET", dataType: 'jsonp', // crossDomain: true, success: function (result) { // data = $.parseJSON(result); // alert(data.nickname); alert(result.nickname); } }); </script>
其中遇到了两个问题:
1.第一个问题:
Uncaught SyntaxError: Unexpected token :
解决方案如下:
This has just happened to me, and the reason was none of the reasons above. I was using the jQuery command getJSON and adding callback=? to use JSONP (as I needed to go cross-domain), and returning the JSON code {"foo":"bar"} and getting the error.
This is because I should have included the callback data, something like jQuery17209314005577471107_1335958194322({"foo":"bar"})
Here is the PHP code I used to achieve this, which degrades if JSON (without a callback) is used:
立即学习“PHP免费学习笔记(深入)”;
<span>$ret</span><span>[</span><span>''foo''</span><span>]</span><span>=</span><span>"bar"</span><span>;</span><span> finish</span><span>();</span><span>function</span><span> finish</span><span>()</span><span>{</span><span> header</span><span>(</span><span>"content-type:application/json"</span><span>);</span><span>if</span><span>(</span><span>$_GET</span><span>[</span><span>''callback''</span><span>])</span><span>{</span><span>print</span><span> $_GET</span><span>[</span><span>''callback''</span><span>].</span><span>"("</span><span>;</span><span>}</span><span>print</span><span> json_encode</span><span>(</span><span>$GLOBALS</span><span>[</span><span>''ret''</span><span>]);</span><span>if</span><span>(</span><span>$_GET</span><span>[</span><span>''callback''</span><span>])</span><span>{</span><span>print</span><span>")"</span><span>;</span><span>}</span><span>exit</span><span>;</span><span>}</span>
Hopefully that will help someone in the future.
2.第二个问题:解析json数据。从上面的javascript中可以看到,我没有使用jquery.parseJSON()这些方法,开始使用这些方法,但是总是会报
VM219:1 Uncaught SyntaxError: Unexpected token o in JSON at position 1
的错误,后来不用jquery.parseJSON()这个方法,反而一切正常。不知为何。
以上就介绍了ajax调用返回php接口返回json数据,包括了ajax,json方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
Ajax返回Json在Java中的实现
在上一个随笔中,介绍AJAX的一个简单实例,在这篇中主要是说一下使用Json来将后台取得的数据显示到前台页面。可以说这种方法应该是实现无刷新分页的基础,而且在开发过程中经常被用到。这里的后台部分由JAVA来实现。
这个例子也在上一篇中那个项目中实现。新建一个SecondTest.html页面,定义一个按钮,并给这个按钮绑定事件ajaxJson()。在JS中实现AJAX,这里的AJAX相对于上一篇中的,我做了简单的封装,将原有的代码分成三个方法,分别是create()、callback()、run()。
create方法是用来创建XMLHttp对象的,callback是用来实现回调函数的,run方法是核心方法。具体代码如下:
create():
function create(){ if(window.XMLHttpRequest){ xmlHttp=new XMLHttpRequest(); }else if(window.ActiveXObject){ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP") } }
callback():
function run(url){ create(); xmlHttp.open("POST",url,true); xmlHttp.onreadystatechange=callback; xmlHttp.send(); }
以上三个方法写好后,在ajaxJson()方法中直接调用run方法并将请求当参数传入进去。代码如下:
function ajaxJson(){ run("test.do?method=jsonTest&&msg="+new Date()); }
在AjaxController类的中新建jsonTest方法,在JAVA中实现Json是需要Json架包的,Json的架包有:json-lib-2.3-jdk15.jar,ezmorph-1[1].0.6.jar,commons-logging-tests.jar,commons-logging-api-1.1.1.jar,commons-logging-adapters-1.1.1.jar,commons-logging-1.1.1-sources.jar,commons-logging-1.1.1-javadoc.jar,commons-logging-1.1.1.jar,commons-lang.jar,commons-collections-3[1].2.1.jar,commons-beanutils-core.jar,commons-beanutils-bean-collections.jar,commons-beanutils.jar。看着有点多哈,可以自己去CSDN上面找,我试着删掉一些,但发现少了会不好使,所以为了保险还是把这些都加进去吧。
在开发过程中一般数据都是从数据库中取出来的,习惯性的我们会在程序中将取出的数据存到List中,而Json架包中正好有封装好的方法能将List转换为Json。在这个例子中我们自己制造一些假数据放到List中,然后再将List转换为Json,再返回给前台。代码如下:
关于Java中如何返回Json数组和java如何返回json数据的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于AJAX MVC 服务器返回Json数据,客户端获取Json数据、ajax如何经过后台返回json数组以及在在js中得到json对象、ajax调用返回php接口返回json数据 ajax jsonp ajax json实例 ajax获取后台json数、Ajax返回Json在Java中的实现等相关内容,可以在本站寻找。
本文标签: