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)如果需要更新内容,必须重载整个网页面。

猜你喜欢

转载自www.cnblogs.com/binghuaZhang/p/10780888.html