老规矩,今天的思维导图:

1.JSON使用

对象字符串,满足定义规则的字符串。

1.1 前端JSON格式字符串的转换使用

JavaScript——JSON.stringify(o);JSON.parse(jsonStr);
jQuery——$.parseJSON();

举例:

//jQuery方式

let list = $.parseJSON(data);

//JavaScript通过fastJSON工具来转换  JSON

String jsonString = JSON.toJSONString(diaoSi);

1.2 后端JSON格式字符串的转换使用

jackJSON

fastJSON

2.jQuery之AJAX使用

原生js写ajax请求(写起来很复杂,而且需要考虑浏览器版本),而jQuery将这些复杂的业务逻辑进行封装处理,使用非常简单。

3.1 概述
Ajax(Asynchronous JavaScript and XML) 异步JavaScript和XML
核心:Ajax就是能够做到局部刷新!
3.2 方法

** ajax()
    ** get()
    ** post()

3.3 语法

    $.ajax({          url:"发送请求(提交或读取数据)的地址", dataType:"预期服务器返回数据的类型",  type:"请求方式", async:"true/false",data:{发送到/读取后台(服务器)的数据},success:function(data){请求成功时执行},      error:function(){请求失败时执行}});

<1> url 默认为当前页地址
<2> dataType 可用类型:
(如果不指定,JQuery将自动根据http包mime信息返回responseXML或responseText,并作为回调函数参数传递)
    xml:返回XML文档,可用JQuery处理。
    html:返回纯文本HTML信息。
    script:返回纯文本JavaScript代码。
    json:返回json数据。
    jsonp:(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据。
    text:返回纯文本字符串。
    说明:对于json和jsonp的区别,本小白暂时没有深入了解,目前只知道jsonp可以跨域读取数据,有待进一步学习~
<3> type 可用类型主要为post和get两种(默认为get)
    get:从指定的资源请求数据(从服务器读取数据)
    post:向指定的资源提交要被处理的数据(向服务器提交数据)
<4> async 异步方式,默认为true,即异步方式。当设置为false时,为同步方式。
    异步方式:ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发ajax里的success方法,这时候执行的是两个线程。
    同步方式:在没有返回值之前,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

说明:这里的同步和异步有待深入理解,以下实例均使用默认的异步方式
<5> data 请求的数据,{ }中可以填入多项数据。如果不填(一般为get请求),则读取对应地址的全部数据,此时可以在console中通过console.log(res)显示数据情况。
<6> success 和 error 两个函数 一般需要设置,方便确定请求是否成功,以及请求成功后的提示或是对数据的处理和显示。

post方式
格式

$.post(url, [data], [callback], [type]);
参数1:url,请求路径
参数2:data,请求参数
参数3:callback,回调函数
参数4:type,返回内容格式,默认的是text,xml, html, script, json, text, _default。

json对象转字符串的使用两种fastjson与ObjectMapper

package com.zking.ajax.test;import java.util.ArrayList;
import java.util.List;import com.alibaba.fastjson.JSON;
import com.zking.ajax.entity.DiaoSi;public class Demo {public static void main(String[] args) {//ajax中  servlet里面将结果保存到out对象中输出   参数只能是字符串或者数组//问题:如何将一个对象或者数组转成一个字符串//该字符串必须要满足JSON的格式//JSON   对象字符串,简单的说就是一个字符串,符合对象的定义或者数组的定义集合定义对象数组的定义/***     JSON的格式*         {*             "name":"value",*             "name":"value"*         }* *///前端------parseJSON()//后台——————借助JSON工具包(很多)//今天  2个//fastJSON   jackJSON//使用前  必须导包
//        fastJSONDiaoSi diaoSi = new DiaoSi(1, "谢文建", "男");//需求:将diaosi转成字符串//不满足json格式System.out.println(diaoSi.toString());//通过fastJSON工具来转换  JSONString jsonString = JSON.toJSONString(diaoSi);//{"did":1,"dname":"谢文建","sex":"男"}System.out.println(jsonString);String str2 = "{\"did\":1,\"dname\":\"谢文建\",\"sex\":\"男\"}";DiaoSi parseObject = JSON.parseObject(str2,DiaoSi.class);System.out.println(parseObject);List<DiaoSi> list = new ArrayList<DiaoSi>();for(int i = 1;i<=500;i++) {if(i>=1 && i<=100) {list.add(new DiaoSi(i+1, "康康屌丝"+i, "男"));}else if(i>=101 && i<=200) {list.add(new DiaoSi(i+1, "刘湘杨"+i, "男"));}else if(i>=201 && i<=300) {list.add(new DiaoSi(i+1, "雷惠玲"+i, "女"));}else if(i>=301 && i<=400) {list.add(new DiaoSi(i+1, "邓婉婷"+i, "女"));}else if(i>=401 && i<=500) {list.add(new DiaoSi(i+1, "章游"+i, "男"));}}数组转换为字符串String jsonString2 = JSON.toJSONString(list);System.out.println(jsonString2);//        [{"did":2,"dname":"康康屌丝1","sex":"男"},{"did":3,"dname":"康康屌丝2","sex":"男"}]";字符串 转为对象数组List<DiaoSi> parseArray = JSON.parseArray(str3, DiaoSi.class);System.out.println();}
}

ObjectMapper 转换工具的使用

package com.zking.ajax.test;import com.fasterxml.jackson.databind.ObjectMapper;
import com.zking.ajax.entity.DiaoSi;public class Demo2 {public static void main(String[] args) throws Exception {//jackJSON//必须实例化ObjectMapper对象才能使用ObjectMapper mapper = new ObjectMapper();DiaoSi diaoSi = new DiaoSi(1, "谢文建", "男");对象转字符串String writeValueAsString = mapper.writeValueAsString(diaoSi);
//        {"did":1,"dname":"谢文建","sex":"男"}System.out.println(writeValueAsString);String ds = "{\"did\":1,\"dname\":\"谢文建\",\"sex\":\"男\"}";字符串转对象DiaoSi readValue = mapper.readValue(ds, DiaoSi.class);System.out.println(readValue);}

Ajax基本使用与JSON格式转换相关推荐

  1. ajax 通过json xml文件,php+Ajax处理xml与json格式数据的方法示例

    本文实例讲述了php+Ajax处理xml与json格式数据的方法.分享给大家供大家参考,具体如下: 一.ajax如何处理xml数据格式 register.php 只需修改上一篇<php+Ajax ...

  2. ajax json 渲染 html,jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例

    本文实例讲述了jquery+ajax+js实现请求json格式数据并渲染到html页面操作.分享给大家供大家参考,具体如下: 1.先给json格式的数据: [ {"id":1,&q ...

  3. python格式和JSON格式转换

    这里写自定义目录标题 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一 ...

  4. 【Ajax】第一课 Ajax访问Servlet解析Json格式

    概念 ajax(Web数据交互方式),Ajax即Asynchronous Javascript And XML(异步JavaScript和XML)在 2005年被Jesse James Garrett ...

  5. application/x-www-form-urlencoded和application/json格式转换

    我发送出去的数据发现后台接收不到,查找了一下原因,发现需要form-data的数据后台才可以获取到.于是改成了form-data格式,成功了,后台获取到数据了,有点小激动,但是随即发现发送的数据格式出 ...

  6. python json格式转换_Python实现把json格式转换成文本或sql文件

    python如何将json格式的数据快速的转化成指定格式的数据呢?或者转换成sql文件? 下面的例子是将json格式的数据准换成以#_#分割的文本数据,也可用于生成sql文件. [root@bogon ...

  7. ajax的x-www-form-urlencoded与json格式解决跨域问题

    AJAX解决跨域(包括json) 1 分析AJAX的contentType ajax的contentType指的是传递data到后端所使用的内容格式,我们这里主要说两种 x-www-form-urle ...

  8. JSON格式转换工具类、json转map

    这里推荐两个JSON转换工具类 阿里巴巴的FastJSON maven仓库地址 可以参考我这篇文章 或者这篇文章 Jackson工具类 这个参考我这篇文章 json格式数据转换成Map 使用阿里巴巴的 ...

  9. json格式 转换的时候 注意是否是类还是数组 微信json为null

    2019独角兽企业重金招聘Python工程师标准>>> 今天在做微信接口的时候  发现json格式为null 之后改成这样子就可以了 private function parseJS ...

最新文章

  1. C#中如何将将数据导出到word excel 中
  2. oss上传文件不能在浏览器直接打开_OSS使用Bucket域名访问直接下载不能打开网页的解决方法...
  3. Spring Security源码解析(四)—— 过滤器
  4. 反向代理post参数怎么传输_面试必备:GET和POST的区别详细解说
  5. .NET垃圾回收笔记
  6. 测试用例组织结构_用例和组织结构
  7. Python使用K-means聚类算法进行分类案例一则
  8. 自学Java第一周的总结
  9. Python requests库中文乱码问题汇总(编码)
  10. HTTPS和SSL握手过程(转载)
  11. Scala入门(2)
  12. 别以为太简单!创建最好邮件营销内容的13个技巧
  13. 为何我的孩子不沉迷网络游戏
  14. 移动端H5控制台调试(手机web页面控制台调试)
  15. glassfish插件_Eclipse4.2.2安装GlassFish插件
  16. python二项分布产生随机数_python随机生成 - osc_c10h48oh的个人空间 - OSCHINA - 中文开源技术交流社区...
  17. iOS APP 启动页面的使用
  18. Unity3d 网页插件BestHttp使用介绍
  19. Caffeine实战教程篇
  20. matlab中h无穷状态反馈控制,求教 :用LMI方法求倒立摆H无穷状态反馈控制器程序...

热门文章

  1. 离心泵水力设计——叶轮设计——3 中间流线
  2. 安卓实现ECG心电图功能
  3. 2016年阿里巴巴集团蚂蚁金服面经
  4. Unity2d游戏开发日志(菜只因版)-2月1日-视差
  5. C语言程序设计(第三版)何钦铭著 习题4-1
  6. 随意取名取字php,取名字不能太随意
  7. sql server08 (mssqlserver)启动不了或者无法登陆三大解决办法
  8. 使用Minitab进行相关性的卡方校验
  9. memset()和bzero()的使用和区别
  10. mib browse