详解Gson使用(四)Map对象转化
来源:互联网 发布:做奥数题的软件 编辑:程序博客网 时间:2024/05/29 13:00
项目地址:
Github:https://github.com/smileysx/GsonTestOschina:https://git.oschina.net/ysx_xx/GsonText
详解Gson使用(一)简单对象转化
http://blog.csdn.net/a249900679/article/details/51385913
详解Gson使用(二)带泛型的List转化
http://blog.csdn.net/a249900679/article/details/51386028
详解Gson使用(三)使用注解
http://blog.csdn.net/a249900679/article/details/51386509
http://blog.csdn.net/a249900679/article/details/51386660
详解Gson使用(五)实现百度翻译功能
http://blog.csdn.net/a249900679/article/details/51386727
接下来介绍Map对象与json的相互转换
Map类型的转换就需要用到
GsonBuilder().enableComplexMapKeySerialization().create()类生成Gson对象
1. Map<String, String>类型的转换:
这里直接贴关键代码,其他代码可参考前两篇文章,或下载代码。
private String seven() {Gson gson2 = new GsonBuilder().enableComplexMapKeySerialization().create();Map<String, String> map = new HashMap<String, String>();map.put("key1", "value1");map.put("key2", "value2");map.put("key3", "value3");return gson2.toJson(map);}
结果为:
把json数据转换为Map<String, String>:
private String seven() {Gson gson2 = new GsonBuilder().enableComplexMapKeySerialization().create();Map<String, String> map = new HashMap<String, String>();map.put("key1", "value1");map.put("key2", "value2");map.put("key3", "value3");String jsonString = gson.toJson(map);Type type = new TypeToken<Map<String, String>>() {}.getType();Map<String, String> map2 = gson2.fromJson(jsonString, type);String showString = "";for (String keyString : map2.keySet()) {showString += keyString + ":" + map2.get(keyString) + "\n-----\n";}showString += "----------------------\n";return showString;}
结果为:
2. Map<Object, String>类型的转换:
private String eight() {Gson gson2 = new GsonBuilder().enableComplexMapKeySerialization().create();Map<ToJsonBeanOne, String> map = new LinkedHashMap<ToJsonBeanOne, String>();map.put(new ToJsonBeanOne(1, "小熊1", 21), "value1");map.put(new ToJsonBeanOne(2, "小熊2", 21), "value2");map.put(new ToJsonBeanOne(3, "小熊3", 21), "value3");return gson2.toJson(map);}
结果为:
把json数据转换为Map<Object, String>:
private String eight() {Gson gson2 = new GsonBuilder().enableComplexMapKeySerialization().create();Map<ToJsonBeanOne, String> map = new LinkedHashMap<ToJsonBeanOne, String>();map.put(new ToJsonBeanOne(1, "小熊1", 21), "value1");map.put(new ToJsonBeanOne(2, "小熊2", 21), "value2");map.put(new ToJsonBeanOne(3, "小熊3", 21), "value3");String jsonString = gson2.toJson(map);Type type = new TypeToken<Map<ToJsonBeanOne, String>>() {}.getType();Map<ToJsonBeanOne, String> map2 = gson.fromJson(jsonString, type);String showString = "";for (ToJsonBeanOne beanOne : map2.keySet()) {showString += "key:\n" + beanOne.toString() + "value:" + map2.get(beanOne) + "\n-----\n";}showString += "----------------------\n";return showString;}
结果为:
3. Map<String, Object>类型的转换:
private String nine() {Gson gson2 = new GsonBuilder().enableComplexMapKeySerialization().create();Map<String, ToJsonBeanOne> map = new LinkedHashMap<String, ToJsonBeanOne>();map.put("key1", new ToJsonBeanOne(1, "小熊1", 21));map.put("key2", new ToJsonBeanOne(2, "小熊2", 21));map.put("key3", new ToJsonBeanOne(3, "小熊3", 21));return gson2.toJson(map);}
结果为:
把json数据转换为Map<String, Object>:
private String nine() {Gson gson2 = new GsonBuilder().enableComplexMapKeySerialization().create();Map<String, ToJsonBeanOne> map = new LinkedHashMap<String, ToJsonBeanOne>();map.put("key1", new ToJsonBeanOne(1, "小熊1", 21));map.put("key2", new ToJsonBeanOne(2, "小熊2", 21));map.put("key3", new ToJsonBeanOne(3, "小熊3", 21));String jsonString = gson2.toJson(map);Type type = new TypeToken<Map<String, ToJsonBeanOne>>() {}.getType();Map<String, ToJsonBeanOne> map2 = gson.fromJson(jsonString, type);String showString = "";for (String keyString : map2.keySet()) {showString += "key:\n" + keyString + "\nvalue:\n" + map2.get(keyString).toString() + "-----\n";}showString += "----------------------\n";return showString;}
结果为:
0 0
- 详解Gson使用(四)Map对象转化
- 详解Gson使用(一)简单对象转化
- 详解Gson使用(一)简单对象转化
- Gson转化为对象
- 使用GSON将对象和json字符串相互转化
- 详解Gson使用(二)带泛型的List转化
- 使用Gson解析Json为Map对象探索(上)
- 使用Gson解析Json为Map对象探索(下)
- Gson 专题详解 之一 简单的对象转化json和json转成对象
- map转化为对象
- 使用Gson转化天气预报Json
- 对象与Json串转化:Gson
- Android Gson详解(四)
- Gson-----4、简单对象转化和带泛型的List转化
- 使用Gson详解
- gson使用详解
- Gson之使用详解
- Gson解析使用详解
- 插入排序
- BZOJ4551 [Tjoi2016&Heoi2016]树
- POJ2484
- 利用Python实现简单的相似图片搜索的教程
- 用java实现一个简单的ArrayList
- 详解Gson使用(四)Map对象转化
- Adam学习19之在window下eclipse的mvn test
- 安装phpmyadmin并配置多个数据库实例到里面
- 希尔排序
- hdoj 2018(java)母牛的故事(斐波那契数列)
- hashmap与hashtable
- java基础教程5:内部类和内部接口
- 论文阅读:CVPR2016 Paper list
- JAVA继承的拓展——接口和事件机制