栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Json&Ajax

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Json&Ajax

1:什么是Json

javaScript Object Notation,是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成,JSON采用完全独立于语言的文本格式,而且很多语言提供了对JSON的支持(c,c++,c#,Java,js,pythod,perl)使得JSON成为理想的数据交换格式。

  • 轻量级:和xml做比较,比xml解析快
  • 数据交换:指客户端和服务器之间的业务数据的传输格式

json由键值对组成,花括号包围,每个键使用引号,键和值使用冒号分隔,多组键值对使用逗号分隔

var jsonobj={
     "key1":12,
     "key2":"abc",
     "key3":true,
     "key4":[11,"arr",false],
     "key5":{
       "key5_1":551,
       "key5_2":"key5_2_value"
     },
     "key6":[{
       "key6_1_1":6611,
       "key6_1_2":"key_6_1_2_value"
     },{
       "key6_2_1":6611,
       "key6_2_2":"key_6_2_2_value"
     }]
   };

Json中常用的方法:

//Json对象转化为Json字符串
var jsonobjString =JSON.stringify(jsonobj);
alert(jsonobjString);
//Json字符串转化为Json对象
 var jsonobj2=JSON.parse(jsonobjString);
 alert(jsonobj2);

通过Gson相互转换Json字符串和JavaBean:

 person p1=new person(1,"test");

  //1:创建GSON实例
  Gson gson=new Gson();

  //2:JavaBean对象转化为JSON字符串  使用gson的toJson()
  String p1JsonString = gson.toJson(p1);
  System.out.println(p1JsonString);//{"id":1,"name":"test"}

  //3:JSON字符串转换为JavaBean对象    使用gson的fromJson(json字符串,JAVA对象类型.class)
  person p2= gson.fromJson(p1JsonString, person.class);
  System.out.println(p2);//person{id=1, name='test'}

通过Gson相互转换Json字符串和List集合:

 		List list=new ArrayList<>();

    list.add(new person(1,"test"));
    list.add(new person(2,"hdlzay"));

    //1:创建GSON实例
    Gson gson=new Gson();

    //2:将list转换为JSON字符串  使用gson的toJson()
    String personListJsonString = gson.toJson(list);
   System.out.println(personListJsonString);//[{"id":1,"name":"test"},{"id":2,"name":"hdlzay"}]

    //3:将JSON字符串 转换为List集合
    
    List personList = gson.fromJson(personListJsonString,new TypeToken >(){}.getType());
    System.out.println(personList.get(0));// 成功转化为javabean :person{id=1, name='test'}


通过Gson互相转换Json字符串和Map:

 Map map=new HashMap<>();

  map.put(1,new person(1,"test"));
  map.put(2,new person(2,"hdlazy"));

  	//1:创建gson实例
    Gson gson=new Gson();

    //2:将map转化为JSON字符串  使用gson的toJson方法
    String personmapJsonStrig = gson.toJson(map);
    System.out.println(personmapJsonStrig);//{"1":{"id":1,"name":"test"},"2":{"id":2,"name":"hdlazy"}}

    //3:将JSON字符串转化为map  和list相同需要创建类继承TypeToken>
    Map map2 = gson.fromJson(personmapJsonStrig, new TypeToken>(){}.getType());
    person person = map2.get(1);
    System.out.println(person);//person{id=1, name='test'}

2:什么是Ajax

Ajax即Asynchronous Javascript And XML(异步JavaScript和XML)用来描述一种使用现有技术集合的‘新’方法,包括: HTML 或 XHTML, CSS,JavaScript, DOM, XML, XSLT, 以及最重要的XMLHttpRequest。使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。

简单来说:

  • 局部更新:浏览器地址栏不会发生变化,同时不舍弃之前页面的内容
  • 异步请求:提高用户体验,在ajax数据返回之前不会使得页面停滞等待数据返回

封装Ajax请求:util.js

	function ajax(args){

    var xhr=new XMLHttpRequest();

    xhr.onreadystatechange=function(){
    			//状态为4表示请求成功,调用回调函数处理后端传递的数据
        if(xhr.readyState==4){
            args.callback(xhr.responseText,xhr.status);
        }
    }
		//open方法用来发送请求
    xhr.open(args.method,args.url);
    
    if(args.contentType){
        xhr.setRequestHeader('Content-Type',args.contentType);
    }
    
    if(args.body){
        xhr.send(args.body);
    }else{
        xhr.send();
    }
}

测试:




    
    
    
    Document
     
     


    
    
    

    

    


后端响应:

 @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        resp.getWriter().write(username);
        resp.getWriter().write(password);
    }


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/966725.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号