第三方库-Gson和Fast-json
来源:互联网 发布:mac锁屏时钟 编辑:程序博客网 时间:2024/04/30 10:34
前言 : 团队精神到底是什么?互相帮助,互相袒护就算是吗?也有人这么认为吧。我是认为那根本只是唬人!应该是每个人抱着必死决心做自己的事,“我做好自己的部分”“接下来轮到你”“做不好的话我就揍扁你”要是有这种决心才能算是团队精神吧!
项目中访问网络处理数据时大多数使用的是JSON数据格式,还有少部分使用的XML数据格式。这里只讲JSON格式数据
1.JSON的简介
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。用于数据交换传输,通用与PHP,Java,C++,C#,Python等编程语言数据交换传输。
易于人阅读和读写,同时也易于机器解析和生成。
基本结构:对象,数组。
2.Gson的简介和特点
Gson是Google官方推出的,用来在Java对象和JSON数据之间映射的Java类库。可以讲一个Json字符串转成一个Java对象,或者反过来都可以。
*快速 , 高效
*代码量少 , 简洁
*面向对象
*数据传递和解析方便
3.Gson的使用
需要导入访问网络的框架Volley和Gson,另外需要添加访问网络权限
1.使用Volley框架访问网络获取json格式数据
private void getData() { StringRequest request = new StringRequest(url, new Listener<String>() { @Override public void onResponse(String arg0) { Log.i("info", arg0); dealData(arg0); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError arg0) { } }); new Volley().newRequestQueue(getApplicationContext()).add(request); }
2.需要些java bean 用来解析数据用
public class Book { private String title; private String publisher; private String summary; private ArrayList<Tag> tags; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getPublisher() { return publisher; } public void setPublisher(String publisher) { this.publisher = publisher; } public String getSummary() { return summary; } public void setSummary(String summary) { this.summary = summary; } public ArrayList<Tag> getTags() { return tags; } public void setTags(ArrayList<Tag> tags) { this.tags = tags; }}
3.使用Gson解析数据
可以将数据解析成JsonObject,JsonArray,实体类JSON数据
private void dealData(String result) { Gson gson = new Gson(); Book book = gson.fromJson(result, Book.class); Toast.makeText(this, book.getTitle() + " : " + book.getPublisher() + " : " + book.getTags().size(), Toast.LENGTH_LONG).show(); }
Fastjson是一个性能很好的java语言实现JSON解析器和生成器,来之阿里巴巴的工程师开发,具有极快的性能,超越任何其他的Java Json parser
快速FAST
强大(支持普通JDK类包括任意Java Bean Class,Collection,Map,Date或enum)
零依赖(没有依赖其他任何类库除了JDK)
支持注解,支持全类型序列化
4.Fast-json的使用
需要导入访问网络的框架Volley和Fast-json,另外需要添加访问网络权限
1.使用Volley框架访问网络获取json格式数据
private void getData() { StringRequest request = new StringRequest(url, new Listener<String>() { @Override public void onResponse(String arg0) { Log.i("info", arg0); dealData(arg0); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError arg0) { // TODO Auto-generated method stub } }); Volley.newRequestQueue(getApplicationContext()).add(request); }
2.需要些java bean 用来解析数据用
public class Book { private String title; private String publisher; private String summary; private ArrayList<Tag> tags; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getPublisher() { return publisher; } public void setPublisher(String publisher) { this.publisher = publisher; } public String getSummary() { return summary; } public void setSummary(String summary) { this.summary = summary; } public ArrayList<Tag> getTags() { return tags; } public void setTags(ArrayList<Tag> tags) { this.tags = tags; }}
3.使用fast-json解析数据
可以将数据解析成JsonObject,JsonArray,实体类JSON数据
private void dealData(String result) { Book book = JSON.parseObject(result, Book.class); List<Book> books = JSON.parseObject(result, new TypeReference<List<Book>>() { }); Book book1 = new Book(); book1.setTitle("biaoti"); Book book2 = new Book(); book2.setTitle("biaoti"); Book book3 = new Book(); book2.setTitle("biaoti"); List<Book> list = new ArrayList<Book>(); list.add(book1); list.add(book2); list.add(book3); JSON.toJSON(list); Toast.makeText(this, book.getTitle() + " : " + book.getPublisher() + " : " + book.getTags().size(), Toast.LENGTH_LONG).show(); }
以上数据只做了简单的处理,但是在项目已经够使用了。
源码 ##下载
- 第三方库-Gson和Fast-json
- Andorid中使用Gson和Fast-json解析库解析JSON数据---第三方库学习笔记(二)
- JSON 解析库的使用 :Gson 和 fast-json比较
- 关于解析json— 使用第三方库Gson
- Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例
- Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例
- Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例
- Gson,Fast-Json解析 Demo
- Json、Gson、FAST-JSON解析学习
- 解析JSON数据的详细步骤以及偷懒技巧(使用第三方库GSON以及GsonFormat工具)
- Json解析的两种方法:一种Android自带的,一种第三方Gson
- Gson解析第三方提供Json数据(天气预报,新闻等)
- Android中JSON数据解析:系统自带JSONObject以及第三方GSON的实现
- 第三方类库-JSON-Google Gson
- qt解析json(使用第三方库
- Python json 第三方库Demjson安装
- json解析库gson和fastjson使用
- Json和Gson
- iOS开发-非xcode8.0支持iOS10 真机调试
- JSP 使用<%@include%>报Duplicate local variable path 错误 解决方法
- Int和char数据运算
- Service及Notification的使用
- java学习日记_36:面向对象之继承中构造方法的关系
- 第三方库-Gson和Fast-json
- Java自定义定时器
- Linux下配置Mysql允许远程访问详解
- C#中可取消的Task
- Atom 编辑器插件:amWiki 轻文库
- codevs 1198 国王游戏 贪心
- 安卓开发——控件属性background与src的区别
- 优先队列
- 尚硅谷java学习笔记——3.面向对象编程