此处将为大家介绍关于Jersey/JAX-RS:以XML/JSON格式返回地图的详细内容,并且为您解答有关java怎么返回xml格式的相关问题,此外,我们还将为您介绍关于AJAX原生js以及Jquer
此处将为大家介绍关于Jersey / JAX-RS:以XML / JSON格式返回地图的详细内容,并且为您解答有关java怎么返回xml格式的相关问题,此外,我们还将为您介绍关于AJAX 原生js以及Jquery解析html,xml,txt,json格式文本、ajax以json格式返回的函数、ajax处理请求,以JSON数据格式返回,(json时间日期返回时对象---》日期格式)、java – 如何设置为json而不是xml在jersey?的有用信息。
本文目录一览:- Jersey / JAX-RS:以XML / JSON格式返回地图(java怎么返回xml格式)
- AJAX 原生js以及Jquery解析html,xml,txt,json格式文本
- ajax以json格式返回的函数
- ajax处理请求,以JSON数据格式返回,(json时间日期返回时对象---》日期格式)
- java – 如何设置为json而不是xml在jersey?
Jersey / JAX-RS:以XML / JSON格式返回地图(java怎么返回xml格式)
如何Map
使用Jersey / JAX-RS框架以XML /
JSON文档形式返回a并不是很明显。它已经支持List
s了,但是当涉及到Map
s时,就没有了MessageBodyWriter
。即使将嵌入Ma
到包装器类中,map
XML模式中也没有类型。
关于如何在Jersey中将地图编组为XML / JSON文档的任何实用建议?
答案1
小编典典我知道它的回复很晚,但是我希望有一天它能对某人有所帮助:)我应用的最简单,最快的修复方法是
@GET@Path("/{messageId}")@Produces(MediaType.APPLICATION_JSON)public Response getMessage(@PathParam("messageId") long id) { Map<String, String> map = new HashMap<>(); map.put("1", "abc"); map.put("2", "def"); map.put("3", "ghi"); return Response.status(Status.OK).entity(map).build();}
输出:{“ 1”:“ abc”,“ 2”:“ def”,“ 3”:“ ghi”}
这绝对可以帮助您解决麻烦。
AJAX 原生js以及Jquery解析html,xml,txt,json格式文本
原生js解析HTM文件,txt文件
ajax/ajax1.js
window.onload = function() { //1.给第一个a标签添加onclick函数 document.getElementsByTagName('a')[0].onclick = function() { // 2.创建一个XMLHttpRequest对象 var xmlHttp = null; if (window.XMLHttpRequest) { //IE6以上,google,火狐支持 xmlHttp = new XMLHttpRequest(); } else { //支持IE5及以下 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } //3.准备发送的数据url: var url = this.href+"?time="+new Date() ;//时间戳 var method = "post" ;//post方式提交 //4.调用XMLHttpRequest对象open方法 xmlHttp.open(method,url) ; //post xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); ; //5.调用XMLHttpRequest对象的方法 xmlHttp.send("name='sdfs'") ; //6.XMLHttRequest对象添加onreadystatechange响应函数 xmlHttp.onreadystatechange = function(){ alert(xmlHttp.readyState) ; if(xmlHttp.readyState==4){//xmlHttp.readyState为4时响应完成 if(xmlHttp.status == 200){//响应是否可用 document.getElementsByTagName('a')[0].innerHTML = xmlHttp.responseText ;//响应结果 } } } //取消a节点onclick默认行为 return false ; } }
text/ajax1.html
<a href="aaa.html">hello world</a>
ajax1.jsp
<script type="text/javascript" src="ajax/ajax1.js" charset="UTF-8"></script> </head> <body> <a href="text/ajax1.html">ajax1</a> </body>
显示效果
<a href="text/ajax1.html"><a href="aaa.html">hello world</a></a>
jquery解析HTML文件,txt文件
ajax_jqurey/ajax-html-jquery.js
$(function(){ $('a').click(function(){ var url = this.href+" a" ;//当前路径下 并且选择a标签 var args = {"time":new Date()} ;//时间戳 (JSON格式) $("#h3").load(url,args) ;//load 将内容直接加入到 id = h3 下 return false ;//取消a标签的默认行为 }); })
ajax-html-jquery.jsp
<a href="text/ajax-html-jquery.html">ajax-html-jquery</a> <a href="text/ajax-html-jquery2.html">ajax-html-jquery2</a> <h3 id="h3"></h3>
text/ajax-html-jquery.html
<h2><a href="#">我是a</a></h2> <span>sdadjk</span> <a>ppp</a>
原生js解析xml
ajax/ajax2.js
window.onload = function() { var aNodes = document.getElementsByTagName('a');//所有的a标签 for (i = 0; i < aNodes.length; i++) { aNodes[i].onclick = function() {//为每一个a标签添加onclick事件 var request = new XMLHttpRequest();//创建一个XMLHttpRequest对象 var method = "GET";//提交方式 var url = this.href + "?time=" + new Date();//时间戳 request.open(method,url);//调用open()方法 request.send(null);//调用send()方法 request.onreadystatechange = function() {//添加onreadystatechange方法 该方法在readyState每次修改都会调用 alert(request.readyState);//弹出当前的readyState值 if (request.readyState == 4) {//响应完成 if (request.status == 200 || request.status == 304) {//响应可用 var xml = request.responseXML;//接收 回应的xml格式文本 //解析xml var name = xml.getElementsByTagName('name')[0].firstChild.nodeValue;//得到xml文本 标签名为name的第一个节点 的子节点 的文本值 var age = xml.getElementsByTagName('age')[0].firstChild.nodeValue; var garde = xml.getElementsByTagName('garde')[0].firstChild.nodeValue; var specialty = xml.getElementsByTagName('specialty')[0].firstChild.nodeValue; // alert(name);//弹出内容 // alert(age); // alert(garde); // alert(specialty); var ul = document.createElement('ul');//创建一个UL节点 var li1 = document.createElement('li');//创建一个li节点 var li2 = document.createElement('li'); var li3 = document.createElement('li'); var li4 = document.createElement('li'); li1.appendChild(document.createTextNode(name));创建一个文本节点 并将name的值添加到该文本节点中 并将该文本节点加入到li1下 li2.appendChild(document.createTextNode(age)); li3.appendChild(document.createTextNode(garde)); li4.appendChild(document.createTextNode(specialty)); var div1 = document.getElementById('div1');//获取di=div1的节点 div1.innerHTML = "";//将div内容清除 ul.appendChild(li1);//将li加入到ul下 ul.appendChild(li2); ul.appendChild(li3); ul.appendChild(li4); div1.appendChild(ul);将ul加入到div1下 } } } return false;//取消a的 onclick默认行为 } } }
ajax2.jsp
<a href="text/1.xml">xml解析1</a> <a href="text/2.xml">xml解析2</a> <div id="div1"></div>
text/1.xml
<?xml version="1.0" encoding="UTF-8"?> <person> <name>乐乐</name> <age>20</age> <garde>中</garde> <specialty>音乐</specialty> </person>
text/2.xml
<?xml version="1.0" encoding="UTF-8"?> <person> <name>八戒</name> <age>10</age> <garde>低</garde> <specialty>结界</specialty> </person>
jquery解析xml
ajax_jqurey/ajax-xml-jquery.js
$(function(){ $('a').click(function(){ var url = this.href ; var args = {"time":new Date()} ; //post将get改为post即可 //function:回掉函数 当响应结束时被触发 响应结果在data中 $.get(url,args,function(data){ var name = $(data).find("name").text() ;//将data包装成一个jqurery对象 调用find() 再调用text()获取name下的文本值 var age = $(data).find("age").text() ; var garde = $(data).find("garde").text() ; var specialty = $(data).find("specialty").text() ; $("#h3").empty().append(""+name+"<a href='"+garde+".html'>"+garde+"</a>").append("age:"+age+"").append(""+specialty+"") ; }) ; return false ; }); })
ajax2.jsp
<a href="text/1.xml">xml解析1</a> <a href="text/2.xml">xml解析2</a> <div id="div1"></div>
text/1.xml
<?xml version="1.0" encoding="UTF-8"?> <person> <name>乐乐</name> <age>20</age> <garde>中</garde> <specialty>音乐</specialty> </person>
text/2.xml
<?xml version="1.0" encoding="UTF-8"?> <person> <name>八戒</name> <age>10</age> <garde>低</garde> <specialty>结界</specialty> </person>
原生js解析json
ajax/json.js
window.onload = function() { var aNodes = document.getElementsByTagName('a'); for (var i = 0; i < aNodes.length; i++) { aNodes[i].onclick = function() { var xmlHttp = new XMLHttpRequest(); var method = "GET"; var url = this.href + "?time=" + new Date(); xmlHttp.open(method,url); xmlHttp.send(null); xmlHttp.onreadystatechange = function() { alert(xmlHttp.readyState); if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { alert(0) ; var jsonObject = xmlHttp.responseText;//用responseText var jsonText = eval("(" + jsonObject + ")");//转换为json对象 var name = jsonText.person.name; var age = jsonText.person.age ; var garde = jsonText.person.garde; var specialty = jsonText.person.specialty; var ul = document.createElement('ul'); var li1 = document.createElement('li'); var li2 = document.createElement('li'); var li3 = document.createElement('li'); var li4 = document.createElement('li'); li1.appendChild(document.createTextNode(name)); li2.appendChild(document.createTextNode(age)); li3.appendChild(document.createTextNode(garde)); li4.appendChild(document.createTextNode(specialty)); var div1 = document.getElementById('div1'); div1.innerHTML = ""; ul.appendChild(li1); ul.appendChild(li2); ul.appendChild(li3); ul.appendChild(li4); div1.appendChild(ul); } } } return false; } } }
text/json1.json
{"person":{ "name":"无先","age":10,"garde":"差","specialty" :"吉他" } } text/json2.txt {"person":{ "name":"丽丽","age":16,"garde":"高","specialty":"音乐" } }
json.jsp
<a href="text/json1.json">json1.json</a> <a href="text/json2.txt">json.txt</a> <div id="div1"></div>
jquery解析json
ajax_jqurey/ajax-json-jquery.js
$(function(){ $('a').click(function(){ var url = this.href ; var args = {"time":new Date()} ; //post将get改为post即可 //function:回掉函数 当响应结束时被触发 响应结果在data中 $.getJSON(url,function(data){//返回的data直接就是一个json对象 var name = data.person.name ; var age = data.person.age ; var garde =data.person.garde ; var specialty = data.person.specialty ; $("#h3").empty().append(""+name+"<a href='"+garde+".html'>"+garde+"</a>").append("age:"+age+"").append(""+specialty+"") ; }) ;//如果用get不用getJson此处写为},"JSON") ; 同样是可以的 return false ; }); })
text/json1.json
{"person":{ "name":"无先","age":10,"garde":"差","specialty" :"吉他" } }
text/json2.txt
{"person":{ "name":"丽丽","age":16,"garde":"高" ,"specialty":"音乐" } }
json.jsp
<a href="text/json1.json">json1.json</a> <a href="text/json2.txt">json.txt</a> <div id="div1"></div>
ajax以json格式返回的函数
function set_return_value($message,$code,$returnObject,$extra = null) { header("Content-type: application/json;"); echo json_encode(array("m" => $message,"c" => $code,"o" => $returnObject,"e" => $extra)); exit; }ajax处理请求,以JSON数据格式返回,(json时间日期返回时对象---》日期格式)
填写个人资料,当填写身份证信息时,ajax方式查询数据库,当数据库有记录时会提示《显示载入上一次信息》,当有记录时action以json方式输出到前端jsp
后台Action
public void addoption() throws IOException{
String cardId = ActionHelper.getParameterFromrequest("cardid");
List<ArcRegisterUser> listuser = this.getArcRegisterUserService().findByCardId(cardId);
if(listuser.size()!= 0){
JSONArray json = JSONArray.fromObject(listuser.get(0));//查回的listuser得到第一个get(0)然后转化为json格式
String content = json.toString(); //json数据转化为String,toString并传递给jsp
ActionHelper.getResponse().getWriter().write(content);//输出到jsp
}else{
ArcRegisterUser user = new ArcRegisterUser();
user.setName("fail");
listuser.add(user);
System.out.println(listuser.get(0).getName());
JSONArray json = JSONArray.fromObject(listuser.get(0));
String content = json.toString(); //toString并传递给jsp
ActionHelper.getResponse().getWriter().write(content);
}
}
前台JSP页面,处理Action返回的json数据
//动态添加下拉框
$(function(){
var ajaxtel ="";//存储已经处理好的ajax返回的json数据,
var ajaxadr ="";
var ajaxname="";
var ajaxsex ="";
var ajaxtime="";
//单击“载入上次信息”
$("#infoo").click(function(){
if(ajaxtel !="" && ajaxadr != "" && ajaxname != "" && ajaxsex != "" && ajaxtime != ""){
$("#tel").val(ajaxtel);
$("#address").val(ajaxadr);
$("#nameid").val(ajaxname);
if(ajaxsex == "00"){
$("#m").attr('checked',true);
$("#m").val('00');
}else{
$("#w").attr('checked',true);
$("#w").val('01');
}
$("#birthday").val(ajaxtime);
}
});
$("#idCardNo").keyup(function(){
//alert("身份证失去焦点");
var idcardNo = document.getElementById("idCardNo").value;
if(idcardNo == ""){
$("#infoo").css("display","none");
}
if(idcardNo != ""){
$.post(
"../../managesystem/base/receReg.do?method=addoption&cardid="+ idcardNo,
function(data){//服务器返回数据
for(i=0;i<data.length;i++){
if(data[0].name == "fail"){
$("#infoo").css("display","none");
}else{
$("#infoo").css("display","block");
}
ajaxtel= data[0].telephone;
ajaxadr= data[0].address;
ajaxname = data[0].name;
ajaxsex = data[0].sex;
var accesstime= data[0].birthday; //得到json格式的出生日期,对象格式
if(accesstime != null || accesstime != ""){ varmytime= new Date(parseInt(accesstime.time)); // 取毫秒数 mytime =mytime.toLocaleDateString();//转化为当地时间格式 } ajaxtime = mytime; } },"json" ); } }); })
java – 如何设置为json而不是xml在jersey?
解决方法
@Produces({"application/json;qs=1","application/xml;qs=.5"})
今天关于Jersey / JAX-RS:以XML / JSON格式返回地图和java怎么返回xml格式的介绍到此结束,谢谢您的阅读,有关AJAX 原生js以及Jquery解析html,xml,txt,json格式文本、ajax以json格式返回的函数、ajax处理请求,以JSON数据格式返回,(json时间日期返回时对象---》日期格式)、java – 如何设置为json而不是xml在jersey?等更多相关知识的信息可以在本站进行查询。
本文标签: