Gson用法2(用Map读取文件内容)
2015-07-02 11:03
316 查看
/** tmp2.json文件的内容如下: { "logfile": { "file1": "zhangsan.log", "file2": "lisi.log" }, "persons": { "num1": { "name": "张三", "gender": false, "age": 20 }, "num2": { "name": "李四", "gender": true, "age": 25 } } } */ //-Person类---------------------------- package test1; public class Person { private String name; private Boolean gender; private Integer age; public String getName() { return name; } public void setName(String name) { this.name = name; } public Boolean getGender() { return gender; } public void setGender(Boolean gender) { this.gender = gender; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } } //-Config类------------------------ package test1; import java.util.Map; public class Config { private Map<String, String> logfile;//包装logfile private Map<String, Person> persons;//包装Person, public Map<String, String> getLogfile() { return logfile; } public void setLogfile(Map<String, String> logfile) { this.logfile = logfile; } public Map<String, Person> getPersons() { return persons; } public void setPersons(Map<String, Person> persons) { this.persons = persons; } } //-MapGson类--------------------------------- package test1; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.Map; import com.google.gson.Gson; public class MapGson { public static void main(String[] args) { try { String st = "C:\\temp\\tmp2.json"; BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(st))); Gson gson = new Gson(); //使用Gson来转换读取的文件内容br,存为Config类型 Config c = gson.fromJson(br, Config.class); Map<String,String> f = c.getLogfile(); System.out.println(f.get("file1"));//结果:zhangsan.log Map<String,Person> ps = c.getPersons(); System.out.println(ps.get("num2").getName());//结果:李四 } catch (Exception e) { e.printStackTrace(); } } }
相关文章推荐
- 提交数据到服务器
- [c#][福利]BTTool种子文件修改工具
- DWZ框架一些技巧
- CC2540/CC2541进入PM3深度休眠的条件及其休眠机制的剖析
- window.onload 与$(document).ready()的区别
- 每天游戏设计原理笔记(三)
- iOS 键盘收起~
- Another MySQL daemon already running with the same unix socket
- 在阿里云服务器上搭建JavaWeb开发环境
- 在Genymotion上使用Fiddler & Wireshark抓包
- Step into Kotlin - 08 - 数组
- Eclipse中设置作者日期等信息
- UIWebView透明背景
- Largest Rectangle in Histogram
- warning: the ‘gets' function is dangerous and should not be used
- Javascript事件模拟
- 【Android】读取sdcard卡上的所有图片并且显示,读取的过程有进度条显示
- Hibernate 一对多外键单向关联
- easy ui tree 默认选中指定行
- Firefox常用web开发插件