• JSON数据表示格式简介(JavaScript对象表示法)


    [1] JSON简介
        > JSON全称 JavaScript Object Notation
        > 类似于JS中对象的创建的方法
        > JSON和XML一样,都是一种表示数据的格式
        > 但是JSON比XML的存储和解析性能要高的多,JSON要比XML高个30%左右。
        <user>
            <name>sunwukong</name>
            <age>18</age>
            <gender>男</gender>
        </user>

        {"name":"孙悟空","age":8,"gender":男}

    [2] JSON的格式
        > JSON字符串不方便阅读,但是传输性能好
        > XML方便阅读,但是传输性能差
        > JSON的格式和JS对象类型,但是要求属性名必须使用双引号。不能使用单引号,也不能不写引号!


        > JSON对象中实际就是一组一组的键值对的结构,
        键和值使用:连接,多个键值对之间使用,分开,注意如果是最后一组键值对,则千万不要在加,.
                例如: {"属性名1":属性值1,"属性名2":属性值2,"属性名3":属性值3,"属性名4":属性值4}

        > JSON运行属性值的类型:
            1.字符串
            2.数字
             3.布尔
            4.对象
            5.数组
            6.null

        > 数组:
        [属性1,属性2,属性3,属性4]

    [3] JS中使用JSON
        JSON对象 --> JSON字符串
        JSON.stringify(对象)
        JSON字符串 --> JSON对象
        JSON.parse(JSON字符串)

    [4] Java中使用JSON
        > 目前Java中用的比较多的JSON解析工具:
        json-lib --> 使用麻烦,解析性能最差
        Jackson --> 使用较麻烦,解析性能最好
        Gson --> 使用简单,解析性能中能
        - Gson是谷歌出的一款JSON解析工具,使用简单,且性能较好。

        Java对象 --> JSON字符串

    //把map转化为json字符串
    		Map<String,String> map=new HashMap();
    		map.put("name", "张三");
    		map.put("hobby", "篮球");
    		map.put("genter", "男");
    		String str=gson.toJson(map);

       JSON字符串 --> Java对象

    Map<String,String> map2=gson.fromJson(str, Map.class);
    		System.out.println(map2);
    

    [3].通过jQuery实现AJAX
        > 使用get和getJSON都会有缓存问题,并且使用get方法不能传送较多的数据。
        > post方法不会有缓存的问题,所以我们开发时使用post方法较多。
        [1] post()方法
        $.post(url, [data], [callback], [type])
        参数:
            url:发送AJAX的请求地址,字符串。
            data:发送给服务器的请求参数,JSON格式。
            callback:当前需要获取服务器发送的响应时,我们可以通过该回调函数。
        jQuery会将响应信息以回调函数的参数的形式返回
        type:响应信息的类型,字符串。一般两个常用值text、json

        [2] get()方法
        - get方法和post方法使用方式基本一致。

        [3] getJSON()方法
        getJSON(url, [data], [callback])
        getJSON方法和get方法类似,只不过该方法默认的响应类型为JSON,不需要再手动指定。

        [4]下面给出一个小例子:(本例子页面特别简单,只为了只实现这一个功能)

    先导入jQuery所需要的jar包:

      我将这个jar包导入了WebContent下的js文件夹在(js文件夹是自己建的)。

    之后再jsp中引入jQuery

    <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-3.2.1.js">
    </script>
    

      然后就是jsp:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-3.2.1.js">
    </script>
    <script type="text/javascript">
        $(function(){
        	$("#btn").click(function(){
        		var url="${pageContext.request.contextPath}/Servlet1";
        		var json={"name":"zhangsan"};
        		function callback(data){
        			
        		}
        		$.get(url,json,callback);
        	});
        });
    </script>
    </head>
    <body>
    <button id="btn">确定</button>
    </body>
    </html>
    

      这样后台就行接收到这个基于jQuery和json的get请求。

  • 相关阅读:
    java版二维码实例(非安卓版)
    Java—SSH(MVC)
    关于flex里面mousedown 和click事件冲突问题的解决办法
    navicat ssh通道受限问题处理
    如何更改linux文件目录拥有者及用户组
    如何查看linux中的ssh端口开启状态
    centos linux mysql 10060远程错误代码
    Navicat for MySQL 使用SSH方式链接远程数据库(二)
    Petri Net 的形式化定义
    如何做鲫鱼豆腐汤
  • 原文地址:https://www.cnblogs.com/of-fanruice/p/7401860.html
Copyright © 2020-2023  润新知