[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请求。

JSON数据表示格式简介(JavaScript对象表示法)的更多相关文章

  1. 8.7 JSON存储数据方式(JavaScript对象表示法)

    8.7 JSON存储数据方式(JavaScript对象表示法) JSON JavaScript 对象表示法(JavaScript Object Notation) 是一种存储数据的方式. 一.创建JS ...

  2. JSON:JavaScript 对象表示法

    JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更易解析. ...

  3. json格式的javascript对象用法分析

    格式: objectName = {  property1:value1,  property2:value2,  …,  propertyN:valueN } property是对象的属性 ,val ...

  4. 遍历 JSON JavaScript 对象树中的所有节点

    我想要遍历 JSON 对象树中,但为何找不到任何一间图书馆.这似乎是不难,但感觉就像重新发明轮子. 在 XML 中有很多教程演示如何遍历 XML DOM 树:( 解决方法 1: 如果你认为 jQuer ...

  5. JSON字符串和Javascript对象字面量

    JSON字符串和Javascript对象字面量 JSON是基于Javascript语法的一个子集而创建的,特别是对象和数组字面量语法. 正是由于JSON的这种特殊来历,导致很多Javascript程序 ...

  6. JSON和JavaScript对象

    var obj={width:100,height:200},这样的并不叫JSON,并且JSON只是一种数据格式,并不是具体的实例. 但很多人把这样的JS对象当成JSON,下面把这个问题讲清楚 一.J ...

  7. json数据的格式,JavaScript、jQuery读取json数据

    JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON的特点: JSON 是纯文本 JSON 具有“自我描述性”(人类可读) JSON 具有层级 ...

  8. JSON对象与JavaScript对象的区别

    //js对象的字面量表示法: var people1={ name:'hehe', age:18 }; //json的格式是: var people1={ "name":'hehe ...

  9. JS对象与json字符串格式

    <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...

随机推荐

  1. 在Apworks数据服务中使用基于Entity Framework Core的仓储(Repository)实现

    <在ASP.NET Core中使用Apworks快速开发数据服务>一文中,我介绍了如何使用Apworks框架的数据服务来快速构建用于查询和管理数据模型的RESTful API,通过该文的介 ...

  2. POJ 3984 路径输出

    迷宫问题 Description 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, ...

  3. 设计模式的征途—14.职责链(Chain of Responsibility)模式

    相信大家都玩过类似于“斗地主”的纸牌游戏,某人出牌给他的下家,下家看看手中的牌,如果要不起,则将出牌请求转发给他的下家,其下家再进行判断.一个循环下来,如果其他人都要不起该牌,则最初的出牌者可以打出新 ...

  4. 回味Python2.7——笔记1

    一.基本知识 1.一个值可以同时赋给几个变量: >>> x = y = z = 0 # Zero x, y and z >>> x 0 >>> y ...

  5. ES2017中的async函数

    前面的话 ES2017标准引入了 async 函数,使得异步操作变得更加方便.本文将详细介绍async函数 概述 async 函数是 Generator 函数的语法糖 使用Generator 函数,依 ...

  6. Angular4.0从入门到实战打造在线竞拍网站学习笔记之三--依赖注入

    Angular4.0基础知识之组件 Angular4.0基础知识之路由 依赖注入(Dependency Injection) 正常情况下,我们写的代码应该是这样子的: let product = ne ...

  7. Python基础学习 -- 列表与元组

    本节学习目的: 掌握数据结构中的列表和元组 应用场景: 编程 = 算法 + 数据结构 数据结构: 通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些元素可以是数字或者字符,或者其他数据 ...

  8. Social Network Analysis的Centrality总结,以及networkx实现EigenCentrality,PageRank和KatzCentrality的对比

    本文主要总结近期学习的Social Network Analysis(SNA)中的各种Centrality度量,我暂且翻译为中心度.本文主要是实战,理论方面几乎没有,因为对于庞大的SNA,我可能连门都 ...

  9. Python爬虫初学(二)—— 爬百度贴吧

    Python爬虫初学(二)-- 爬百度贴吧 昨天初步接触了爬虫,实现了爬取网络段子并逐条阅读等功能,详见Python爬虫初学(一). 今天准备对百度贴吧下手了,嘿嘿.依然是跟着这个博客学习的,这次仿照 ...

  10. Xamarin.Forms(一) Visual Studio 连接安卓模拟器(逍遥安卓)

    刚开始学习Xamarin.Forms的时候总是比较困难的,连接安卓模拟器就花了我好长时间,后来在网上找到了方法: 1.打开adb.exe所在目录: 如:cd F:\Android\android-sd ...