博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Json,Gson,Ajax基础知识
阅读量:5213 次
发布时间:2019-06-14

本文共 2754 字,大约阅读时间需要 9 分钟。

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

 

转载于:https://www.cnblogs.com/binghuaZhang/p/10780888.html

你可能感兴趣的文章
poj1936---subsequence(判断子串)
查看>>
黑马程序员_Java基础枚举类型
查看>>
【redis4 】
查看>>
[ python ] 练习作业 - 2
查看>>
一位90后程序员的自述:如何从年薪3w到30w!
查看>>
HDU-1242-Rescue
查看>>
在.net core上使用Entity FramWork(Db first)
查看>>
Eclipse中如何开启断言(Assert),方法有二
查看>>
System.Net.WebException: 无法显示错误消息,原因是无法找到包含此错误消息的可选资源程序集...
查看>>
压缩图片 待验证
查看>>
冲刺进度条7
查看>>
UIImage 和 iOS 图片压缩UIImage / UIImageVIew
查看>>
MongoDB的数据库、集合的基本操作
查看>>
JS 多种变量定义
查看>>
redis可执行文件说明
查看>>
ajax向后台传递数组
查看>>
剑指offer系列14:包含min函数的栈
查看>>
疯狂JAVA16课之对象与内存控制
查看>>
[转载]树、森林和二叉树的转换
查看>>
WPF移动Window窗体(鼠标点击左键移动窗体自定义行为)
查看>>