GVKun编程网logo

Jersey / JAX-RS:以XML / JSON格式返回地图(java怎么返回xml格式)

14

此处将为大家介绍关于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格式)

Jersey / JAX-RS:以XML / JSON格式返回地图(java怎么返回xml格式)

如何Map使用Jersey / JAX-RS框架以XML /
JSON文档形式返回a并不是很明显。它已经支持Lists了,但是当涉及到Maps时,就没有了MessageBodyWriter。即使将嵌入Ma到包装器类中,mapXML模式中也没有类型。

关于如何在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格式文本

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格式返回的函数

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处理请求,以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?

java – 如何设置为json而不是xml在jersey?

使用jersey jersey. java.net如果在URI中没有接受标题或.xml后缀时,如何将 JSON设置为默认序列化而不是XML?

解决方法

您可以在@Produces注释中为每种介质类型指定质量指标.如果允许XML和JSON,您可以执行以下操作使Jersey更喜欢JSON:
@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?等更多相关知识的信息可以在本站进行查询。

本文标签: