Gson应用:利用map和list来拼装Json消息
2024-08-23 08:48:09
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.google.gson.Gson; public class GsonTest { public static void main(String[] args) { Gson g = new Gson();
Map<String,Object> map = new HashMap<String,Object>();
//添加两个普通节点
map.put("a","1");
map.put("b",2); //添加一个list1 => "list1":[{"c":"3","d":4}]
Map<String,Object> m5 = new HashMap<String,Object>();
List<Object> l = new ArrayList<Object>();
m5.put("c","3");
m5.put("d",4);
l.add(m5);
map.put("list1",l); //添加一个map1 =>"map1":{"e":"5","f":"6"}
Map<String,Object> m2 = new HashMap<String,Object>();
m2.put("e","5");
m2.put("f","6");
map.put("map1",m2); //添加一个list2 => "list2":[{"g":"7","h":8},{"g":"9","h":10}]
List<Object> l2 = new ArrayList<Object>();
Map<String,Object> m3 = new HashMap<String,Object>();
Map<String,Object> m4 = new HashMap<String,Object>();
m3.put("g","7");
m3.put("h",8);
m4.put("g","9");
m4.put("h",10);
l2.add(m3);
l2.add(m4);
map.put("list2",l2); //添加一个map2 => "map2":{"i":"5","j":[{"j":"5","k":"5"}],"l":{"j":"5","k":"5"}}
Map<String,Object> m6 = new HashMap<String,Object>();
List<Object> l3 = new ArrayList<Object>();
Map<String,Object> m7 = new HashMap<String,Object>();
m6.put("i","5"); m7.put("j","5");
m7.put("k","5");
m6.put("l",m7); l3.add(m7);
m6.put("j",l3);
map.put("map2",m6); //转换成JSON格式内容
String s = g.toJson(map);
System.out.println(s); } }
输出
{"list1":[{"c":"3","d":4}],"a":"1","b":2,"map2":{"i":"5","j":[{"j":"5","k":"5"}],"l":{"j":"5","k":"5"}},"map1":{"e":"5","f":"6"},"list2":[{"g":"7","h":8},{"g":"9","h":10}]}
{
"list1":[
{
"c":"3",
"d":4
}
],
"a":"1",
"b":2,
"map2":{
"i":"5",
"j":[
{
"j":"5",
"k":"5"
}
],
"l":{
"j":"5",
"k":"5"
}
},
"map1":{
"e":"5",
"f":"6"
},
"list2":[
{
"g":"7",
"h":8
},
{
"g":"9",
"h":10
}
]
}
最新文章
- java 面向对象编程-- 第15章 集合框架
- drupal中安装CKEditor文本编辑器,并配置图片上传功能
- object c入门
- java代码打印打印杨辉三角
- 从ConcurrentHashMap的演进看Java多线程核心技术 Java进阶(六)
- Java面试经
- Go package(1) time 用法
- Scrapyd 改进第二步: Web Interface 添加 STOP 和 START 超链接, 一键调用 Scrapyd API
- Ubuntu部署python3.7的开发和运行环境
- hdu5238 calculator (线段树+crt)
- Arrange an Array to Form a Smallest Digit
- 广播小案例-监听系统网络状态 --Android开发
- ifream框架角色切换
- WideCharToMultiByte和MultiByteToWideChar函数的用法(转载)
- myeclipse8.6 注册码
- dp + 状态压缩 - Codeforces 580D Kefa and Dishes
- 在Eclipse中生成javadoc
- MongoDB整理笔记のReplica oplog
- C#工具类之XmlNode扩展类
- window7系统下安装scrapy爬虫框架