Json,Gson,Ajax基础知识
//json 是一种轻量级的文本格式,解析简单,他也是一键值来存,数据与数据的分割是以,来分割
//{} 看到大括号就是一个对象,[]代表集合 ,基本上所有数据的交互都是以json格式来进行传递的
//json 主要是解析,把对象与集合转化为json,用阿里 fastjson ,用到谷歌的gson解析,手动解析
这是一个JSON,json解析
String studentJson="{\"uid\":1,\"uname\":\"小彬彬\",\"uproject\":\"Mathmatics\"}";
//这个方法就是把一个方法转化为对象,第一个参数传的是字符串,第二个参数是你要转化的类的对象
Student student= JSON.parseObject(studentJson,Student.class);
System.out.println(student.getUid()+"\t"+student.getUname()+"\t"+student.getUproject());
//把对象转化为json字符串,参数是你要转化的对象
String s = JSON.toJSONString(student);
System.out.println(s);
//这是一个JSON
String jsonArray="[{\"uid\":1,\"uname\":\"小彬彬\",\"uproject\":\"Mathmatics\"}," +
"{\"uid\":2,\"uname\":\"小小彬\",\"uproject\":\"Mathmatics\"}," +
"{\"uid\":3,\"uname\":\"小可爱\",\"uproject\":\"Mathmatics\"}]";
//把json转化为一个集合,第一个参数是字符串,第二个参数是对象.class
List<Student> list = JSON.parseArray(jsonArray,Student.class);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).getUid()+"\t"+list.get(i).getUname()+"t"+list.get(i).getUproject());
}
String str1="{ \n" +
"“ret”: 1, \n" +
"“data”: [ \n" +
"{ \n" +
"“id”: “8289”, \n" +
"“title”: “油焖大虾”, \n" +
"“pic”: “http://www.qubaobei.com/ios/cf/uploadfile/132/9/8289.jpg“, \n" +
"“collect_num”: “1596”, \n" +
"“food_str”: “大虾 葱 生姜 植物油 料酒”, \n" +
"“num”: 1596 \n"+"}]" +
"}";
json解析是以你的最外层为基础,如果最外层是对象,就解析成对象
Food food = JSON.parseObject(str1, Food.class);
int ret = food.getRet();
System.out.println( ret);
List<Food.FoodInfo> data = food.getData();
for (int i = 0; i <data.size() ; i++) {
System.out.println(data.get(i).getId());
}
gson解析
//gson是谷歌出的用于解析json的jar包,移动端用的特别多(特别是安卓)
String studentJson="{\"uid\":1,\"uname\":\"小彬彬\",\"uproject\":\"Mathmatics\"}";
//用gson解析首先实例化这个对象
Gson gson=new Gson();
//这个方法就是把json转化为对象,第一个参数传的就是我们的json对象,第二个参数就是我们要转化的对象.class
Student student = gson.fromJson(studentJson, Student.class);
System.out.println(student.getUid()+"\t"+student.getUname()+"\t"+student.getUproject());
//把对象转化为字符串,参数是你要转化的对象
String s= gson.toJson(student);
System.out.println(s);
String jsonArray="[{\"uid\":1,\"uname\":\"小彬彬\",\"uproject\":\"Mathmatics\"}," +
"{\"uid\":2,\"uname\":\"小小彬\",\"uproject\":\"Mathmatics\"}," +
"{\"uid\":3,\"uname\":\"小可爱\",\"uproject\":\"Mathmatics\"}]";
//谷歌解析json的转化器,谷歌中解析json成集合,必须这样写
List<Student> list=gson.fromJson(jsonArray,new TypeToken<List<Student>>(){}.getType());
for(Student sl:list){
System.out.println(sl.getUid()+"\t"+sl.getUname()+"\t"+sl.getUproject());
}
//将集合转化为字符串
String s1 = gson.toJson(list);
System.out.println(s1);
}
Ajax
特点:局部 异步 什么是同步:数据与界面一起呈现 异步是什么:异步是先跳到相应的界面再来刷新数据
用的核心对象是 xmlhttpRequest 这个对象主要是用于客户端和服务器之间的交互
Ajax一般与前端框架jquery结合用的比较多
Ajax的最大优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容,传统的网页(不适用ajax)如果需要更新内容,必须重载整个网页面。
Json,Gson,Ajax基础知识的更多相关文章
- Ajax基础知识 浅析(含php基础语法知识)
1.php基础语法 后缀名为.php的文件 (1) echo 向页面中输入字符串 <?php 所有php相关代码都要写在<?php ?>这个标签之中 echo &q ...
- Ajax基础知识《一》
对于网站开发人员,一定不会陌生的Ajax技术,本篇就让我们认识一下它,或许在日后的开发过程中我们就可以使用到.Ajax在那方面使用的比较多呢?答案:表单注册,传统的表单注册,有时需要填写大量的信息,当 ...
- Ajax基础知识(二)
接上一篇 Ajax基础知识(一) 在上一篇博客里,抛弃了VS中新建aspx页面,拖个button写上C#代码的方式.使用ajax的方式,异步向服务器请求数据.我们让服务器只简单的返回一个" ...
- 11月10日上午ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库
1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...
- ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库
1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...
- 14.ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库
1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...
- Ajax基础知识梳理
Ajax用一句话来说就是无须刷新页面即可从服务器取得数据.注意,虽然Ajax翻译过来叫异步JavaScript与XML,但是获得的数据不一定是XML数据,现在服务器端返回的都是JSON格式的文件. 完 ...
- 【前端】之AJAX基础知识
AJAX 简介 AJAX(Asynchronous JavaScript and XML),异步的JavaScript和XML AJAX不是编程语言,只是一种在无需重新加载整个网页的情况下能够更新部分 ...
- JSON和AJAX基础
前一段时间做老师留的企业图谱作业,和查询功能都需要用到AJAX .然后做爬虫的时候发现好多网站都用到的是页面的局部刷新,也就是发送的AJAX请求.就去学了一下.简单总结 什么是 JSON ? JSON ...
随机推荐
- 基于Jmeter+maven+Jenkins构建性能自动化测试平台
一.目的: 为能够将相关系统性能测试做为常规化测试任务执行,且可自动无人值守定时执行并输出性能测试结果报告及统计数据,因此基于Jmeter+maven+Jenkins构建了一套性能自动化测试平台 ...
- Java 实现 HttpClients+jsoup,Jsoup,htmlunit,Headless Chrome 爬虫抓取数据
最近整理一下手头上搞过的一些爬虫,有HttpClients+jsoup,Jsoup,htmlunit,HeadlessChrome 一,HttpClients+jsoup,这是第一代比较low,很快就 ...
- Eureka-服务注册与发现组件
一.Eureka是Netflix开发的服务组件 本身是一个基于REST的服务,Spring Cloud将它集成在其子项目spring-cloud-netflix中,以实现Spring cloud的服务 ...
- 提高测试脚本复用性降低DOM结构引起路径变化的影响
问题描述 在定位元素时直接复制的xpath. 但是因为下面这些原因导致之前引用的路径失效, 不得不频繁修改脚本重新定位元素, 大降低了脚本的复用性, 也增加了维护的成本: 1. UI修改 (比如增加了 ...
- 树莓派.Raspberry Pi 3碰到"Unable to determine hardware version. I see: Hardware : BCM2835"错误的解决过程
按pi4jp官方的安装指导(http://pi4j.com/install.html)进行安装 curl -s get.pi4j.com | sudo bash 安装完成后执行JAVA程序, 发现如下 ...
- 用java8重写Arrays.sort(oldWay, new Comparator<String>(){@Override public int compare(String s1, String s2)});
参考https://www.liaoxuefeng.com/article/001411306573093ce6ebcdd67624db98acedb2a905c8ea4000/ Java 8终于引进 ...
- ServletContextListener
在 Servlet API 中有一个 ServletContextListener 接口,它能够监听 ServletContext 对象的生命周期,实际上就是监听 Web 应用的生命周期. 当Serv ...
- python——几种截图对比方式!
本次记录的几种截图对比方式,主要是为了在进行手机自动化测试时,通过截图对比来判断测试的正确性,方式如下: # -*- coding: utf- -*- ''' 用途:利用python实现多种方法来实现 ...
- FPGA学习笔记(七)——FSM(Finite State Machine,有限状态机)设计
FPGA设计中,最重要的设计思想就是状态机的设计思想!状态机的本质就是对具有逻辑顺序和时序规律的事件的一种描述方法,它有三个要素:状态.输入.输出:状态也叫做状态变量(比如可以用电机的不同转速作为状态 ...
- typeof和instansof的区别
typeof typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型. 它返回值是一个字符串,该字符串说明运算数的类型.(typeof 运算符返回一个用来表示表达式的数据类型的字符串. ...