//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基础知识的更多相关文章

  1. Ajax基础知识 浅析(含php基础语法知识)

    1.php基础语法    后缀名为.php的文件 (1) echo   向页面中输入字符串  <?php    所有php相关代码都要写在<?php ?>这个标签之中 echo &q ...

  2. Ajax基础知识《一》

    对于网站开发人员,一定不会陌生的Ajax技术,本篇就让我们认识一下它,或许在日后的开发过程中我们就可以使用到.Ajax在那方面使用的比较多呢?答案:表单注册,传统的表单注册,有时需要填写大量的信息,当 ...

  3. Ajax基础知识(二)

    接上一篇  Ajax基础知识(一) 在上一篇博客里,抛弃了VS中新建aspx页面,拖个button写上C#代码的方式.使用ajax的方式,异步向服务器请求数据.我们让服务器只简单的返回一个" ...

  4. 11月10日上午ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  5. ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  6. 14.ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  7. Ajax基础知识梳理

    Ajax用一句话来说就是无须刷新页面即可从服务器取得数据.注意,虽然Ajax翻译过来叫异步JavaScript与XML,但是获得的数据不一定是XML数据,现在服务器端返回的都是JSON格式的文件. 完 ...

  8. 【前端】之AJAX基础知识

    AJAX 简介 AJAX(Asynchronous JavaScript and XML),异步的JavaScript和XML AJAX不是编程语言,只是一种在无需重新加载整个网页的情况下能够更新部分 ...

  9. JSON和AJAX基础

    前一段时间做老师留的企业图谱作业,和查询功能都需要用到AJAX .然后做爬虫的时候发现好多网站都用到的是页面的局部刷新,也就是发送的AJAX请求.就去学了一下.简单总结 什么是 JSON ? JSON ...

随机推荐

  1. toString()方法详解

    在类型转换中,经常用到方法valueOf()和toString(),上一篇讲了valueOf()方法,这一篇来说说toString()方法.toSting()方法返回返回对象的字符串表现. [1]基本 ...

  2. SVN更新失败,提示locked 怎么破

    有时在svn更新或提交代码时,会报错,让你cleanup  如果cleanup解决不了,就要删除被锁定的文件夹下的文件,然后就可以更新或提交了 怎么做呢? 1.首先在CMD中进入你工作目录被锁定的文件 ...

  3. Struts2(一)---struts2的环境搭建及实例

    刚刚接触struts2,有点懵懵懂懂,还是习惯于先写代码,然后慢慢来理解其中的思想. 这篇文章主要内容是strusts的环境搭建及通过一个简单的例子来理解到底是怎么使用struts来简化编程的. 1. ...

  4. 10.app后端选择什么开发语言

    在qq上,经常看到有创业团队的创始人一直都招不到技术人员,除了项目的因素外,很大的原因就是所需要掌握的开发语言偏门.通过阅读本文,详细了解选择开发语言的核心原则,使各位心里对开发语言的选择更加有数. ...

  5. 2. 网友对app后端写作系列文章的写作建议

    很感谢"app后端"qq群的网友,在发布消息后,就收到了大量网友的反馈 下面的建议会融入到写作当中: 1.还有,对版本升级很感兴趣,我们现在为了兼容旧版本,已经把工程代码搞的乱哄哄 ...

  6. IZT复杂电磁环境记录回放和模拟系统

    结合实验室复杂电磁环境特性与模拟研究需求,实现对复杂多变的电磁环境录制.分析.重构和模拟,记录回放系统应具备如下几项能力: 1.电磁环境信号记录能力:能够实现对9KHz-18GHz频带范围内射频信号的 ...

  7. Java Fork/Join 框架

    简介 从JDK1.7开始,Java提供Fork/Join框架用于并行执行任务,它的思想就是讲一个大任务分割成若干小任务,最终汇总每个小任务的结果得到这个大任务的结果. 这种思想和MapReduce很像 ...

  8. bzoj3598 [Scoi2014]方伯伯的商场之旅

    数位dp,我们肯定枚举集合的位置,但是如果每次都重新dp的话会很麻烦,所以我们可以先钦定在最低位集合,dp出代价,然后再一步步找到正确的集合点,每次更改的代价也dp算就好了. #include < ...

  9. CocoaPods 安装 使用&常见操作错误

    CocoaPods 安装 使用 1.开启 terminal 2.移除现有 Ruby 默认源 $ gem sources --remove https://rubygems.org/ 3.使用新的源 $ ...

  10. AbstractQueuedSynchronizer AQS框架源码剖析

    一.引子 Java.util.concurrent包都是Doug Lea写的,来混个眼熟 是的,就是他,提出了JSR166(Java Specification RequestsJava 规范提案), ...