小编给大家分享一下FastJson中List、Map如何转换使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
基础类型的List、Map转换方式
List<String>
List<String>转为Json字符串
List<String> strList = new ArrayList<>();
strList.add("str1");
strList.add("str2");
String inputStr = JSON.toJSONString(strList);
System.out.println(inputStr);Json字符串转为List<String>
List<String> outputList = JSON.parseObject(inputStr, List.class);
outputList.forEach(System.out::println);
Map<String, String>
Map<String, String>转为Json字符串
Map<String, String> strMap = new HashMap<>();
strMap.put("key1", "value1");
strMap.put("key2", "value2");
String inputMap = JSON.toJSONString(strMap);
System.out.println(inputMap);Json字符串转为Map<String, String>
Map<String, String> stringMap = JSON.parseObject(inputMap, Map.class);
stringMap.forEach((key, value) -> System.out.println(key + " : " + value));
Bean类型的List、Map转换方式
List<Bean>
List<Bean>转为Json字符串
List<Bean> inputList = new ArrayList<>();
inputList.add(new Bean(1, "po1"));
inputList.add(new Bean(2, "po2"));
String inputStr = JSON.toJSONString(inputList);
System.out.println(inputStr);
Json字符串转为List<Bean>
List<Bean> outputList = JSON.parseArray(inputStr, Bean.class);
outputList.forEach(po -> System.out.println(po.getNum() + " name: " + po.getName()));
Map<String, Bean>
Map<String, Bean>转为Json字符串
Map<String, Bean> strMap = new HashMap<>();
strMap.put("key1", new Bean(1, "po1"));
strMap.put("key2", new Bean(2, "po2"));
String inputMap = JSON.toJSONString(strMap);
System.out.println(inputMap);Json字符串转为Map<String, Bean>
Map<String, JSONObject> stringMap = JSON.parseObject(inputMap, Map.class);
stringMap.forEach((key, value) -> {
Bean mock = JSON.parseObject(value.toJSONString(), Bean.class);
System.out.println(key + " : " + mock.getName());
});Bean类型的List、Map高阶转换方式(TypeReference<T>)
使用TypeReference将Json字符串转为List<Bean>
Type listType = new TypeReference<List<Bean>>() {}.getType();
List<Bean> outputList = JSON.parseObject(inputStr, listType);
outputList.forEach(po -> System.out.println(po.getNum() + " name: " + po.getName()));使用TypeReference将Json字符串转为Map<String, Bean>
Type mapType = new TypeReference<Map<String, Bean>>() {}.getType();
Map<String, Bean> stringMap = JSON.parseObject(inputMap, mapType);
stringMap.forEach((key, value) -> {
System.out.println(key + " : " + value.getName());
});以上是“FastJson中List、Map如何转换使用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注天达云行业资讯频道!