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()+" "+student.getUname()+" "+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()+" "+list.get(i).getUname()+"t"+list.get(i).getUproject());

}

 

String str1="{ " +

"“ret”: 1, " +

"“data”: [ " +

"{ " +

"“id”: “8289”, " +

"“title”: “油焖大虾”, " +

"“pic”: “http://www.qubaobei.com/ios/cf/uploadfile/132/9/8289.jpg“, " +

"“collect_num”: “1596”, " +

"“food_str”: “大虾 葱 生姜 植物油 料酒”, " +

"“num”: 1596 "+"}]" +

"}";

 

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()+" "+student.getUname()+" "+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()+" "+sl.getUname()+" "+sl.getUproject());

}

 

//将集合转化为字符串

String s1 = gson.toJson(list);

System.out.println(s1);

}

 

Ajax

特点:局部 异步      什么是同步:数据与界面一起呈现    异步是什么:异步是先跳到相应的界面再来刷新数据

用的核心对象是 xmlhttpRequest   这个对象主要是用于客户端和服务器之间的交互

Ajax一般与前端框架jquery结合用的比较多

Ajax的最大优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容,传统的网页(不适用ajax)如果需要更新内容,必须重载整个网页面。

原文地址:https://www.cnblogs.com/binghuaZhang/p/10780888.html