我们在工作中经常会用到json,市面上也有很多用于json解析的工具,我这边用的是阿里巴巴的fastjson,对应的pom文件为:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
@Test
public void JsonTest() {
// list
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
// list -> json
String listStr = JSON.toJSONString(list);
System.out.println("list 转jsonString:" + listStr);
// json -> list
System.out.println("json 转 list");
List<String> list1 = (List)JSON.parse(listStr);
for (String a : list1) {
System.out.println(a);
}
// json -> JSONArray
JSONArray jsonArray = JSON.parseArray(listStr);
System.out.println("jsonArray:" + jsonArray);
// map
Map<String, String> map = new HashMap<>();
map.put("a", "1");
map.put("b", "2");
// map -> json
String mapStr = JSON.toJSONString(map);
System.out.println("map 转 jsonString:" +mapStr);
// json -> map
Map<String, String> maps = (Map)JSON.parse(mapStr);
System.out.println("json 转 map");
for (Iterator<String> iterator = maps.keySet().iterator(); iterator.hasNext();) {
String key = iterator.next();
System.out.println("key:" + key+" value:" + maps.get(key));
}
String a = "[\"a\",\"b\"]";
JSONArray jsonArray2 = JSON.parseArray(a);
System.out.println(jsonArray2);
}
结果:
list 转jsonString:["a","b"]
json 转 list
a
b
jsonArray:["a","b"]
map 转 jsonString:{"a":"1","b":"2"}
json 转 map
key:a value:1
key:b value:2
["a","b"]