Android开源框架——网络解析GSON
2016-04-20 11:04
519 查看
准备工作
GSON下载地址:http://download.csdn.net/detail/wiseclown/9496184官网地址:https://github.com/google/gson
JavaBean(自定义):
public class Student { private String id; private String name; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }
读JSON数据
//单个对象 String json = "{\"id\":\"0001\",\"name\":\"zs\",\"sex\":\"male\"}"; Gson gson = new Gson(); Student student = gson.fromJson(json,Student.class); //多个对象json数组 String json = "[{\"id\":\"0001\",\"name\":\"zs\",\"sex\":\"male\"}, {\"id\":\"0002\",\"name\":\"ls\",\"sex\":\"male\"}]"; Gson gson = new Gson(); List<Student> studentList = gson.fromJson(json,new TypeToken<List<Student>)(){}.getType();
从文件中读取JSON数据
student2.json[{“id”:”000001”,”name”:”wz”,”sex”:”male”},
{“id”:”000002”,”name”:”zs”,”sex”:”male”},
{“id”:”000003”,”name”:”wf”,”sex”:”female”}
]
File file = new File(Environment.getExternalStorageDirectory(),"student2.json"); Gson gson = new Gson(); try{ List<Student> studentList = gson.fromJson(new InputStreamReader(new FileInputStream(file)),new TypeToken<List<Student>(){}.getType()); }catch(FileNotFoundException e){ e.printStackTrace(); }
将JSON数据写入文件中
Student student = new Student(); student.setId("1"); student.setName("wz"); student.setSex("male"); Gson gson = new Gson(); String jsonStr = gson.toJson(student); File file = new File(Environment.getExternalStorageDirectory(),"student.json"); try{ FileOutputStream out = new FileOutputStream(file); out.write(jsonStr.getBytes("UTF-8")); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
相关文章推荐
- HTTP对外接口,如何增加签名机制
- 网络封装
- HTTP与Ajax 初体验
- TCP拥塞控制
- HttpClient4.5.2编程
- TCP滑动窗口
- HttpClient使用详解
- ReactiveCocoa代码实践之-RAC网络请求重构
- http、TCP/IP协议与socket之间的区别
- 【笔记】 《js权威指南》- 第18章 脚本化HTTP - 18.2 JSONP - 18.3 Comet推
- 将网页设置为允许 XMLHttpRequest 跨域访问
- 为何各大网站启用HTTPS?运营商做了“好事”
- Maven的HTTP代理设置
- Scapy 伪造网络数据包
- Scapy 伪造网络数据包
- GPRS网络概述
- HTTP 中 get 与 post 的区别
- TCP和TCP/IP的区别
- HTTPS连接前的几毫秒发生了什么?
- TCP/IP、Http、Socket的区别