json与string/list相互转化"/>
json与string/list相互转化
字符串:str
json格式的字符串: jsonStr
jsonArray格式的字符串: jsonArrayStr
json数组: jsonArray
一. json 与 String 的相互转换
(1) json格式的字符串 转 JSONArray
语法: JSONArray jsonArray = JSONArray.parseArray(jsonStr);
String projects = "[\"java\",\"pyhton\",\"C++\"]";JSONArray jsonArray = JSONArray.parseArray(projects);System.out.println(jsonArray);结果: ["java","pyhton","C++"]
二. json与List的相互转换
(1) List<String> 转 JSONArray
List<String> strList = new ArrayList<>();strList.add("java");strList.add("python")JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(strList));System.out.println(jsonArray);结果: ["java","pyhton"]
(2) List<Dto> 转 JSONArray
思路: 遍历List,将Dto转换成JSONObject — JSONArray.add(JSONObject )
JSONArray jsonArray = new JSONArray();List<Dto> dtoList = new ArrayList<>();for (int i = 0; i< 5; i++){JSONObject obj= new JSONObject();Dto dto= new Dto();dto.setId("100"+i);dto.setTime("200"+i);obj.put("id",dto.getId());obj.put("time",dto.getTime());jsonArray.add(obj);}System.out.println(jsonArray);
(3) JSONArray 转 List<String> / List<Integer>
语法: List<String> list= JSONArray.parseArray(jsonStr, String.class);
String projects = "[\"java\",\"pyhton\",\"C++\"]";List<String> list= JSONArray.parseArray(projects, String.class);System.out.println(list);结果: [java, pyhton, C++]
语法: List<Integer> list= JSONArray.parseArray(jsonStr, Integer.class);
String counts = "[\"1\",\"2\",\"3\"]";List<Integer> integers = JSONArray.parseArray(counts, Integer.class);for (Integer i :integers ){System.out.print(i + " ");}System.out.println(integers);结果: 1 2 3[1, 2, 3]
(4) JSONArray 转 List<Dto>
语法: List dtolist= JSONArray.parseArray(jsonStr, Dto.class);
String dtos= "[{\"id\":\"1001\",\"time\":\"2001\"},{\"id\":\"1002\",\"time\":\"2002\"}]";List<Dto> dtoList = JSONArray.parseArray(dtos, Dto.class);for(Dto dto :dtoList ){System.out.println(Dto.getId() + "," + Dto.getTime());}结果:1001,20011002,2002
(5)Dto 转 json格式
语法: JSONObject obj = JSONObject.toString(Dto);
JSONObject data = new JSONObject();
PackageDto packageDto = new PackageDto;
packageDto.setPackageId( "abc001");
packageDto.setPackageName("套餐A")
data.put("packageDto",JSONObject.toJSON(packageDto));
三. 判断json数组中是否存在字符串str
if(JSONArray.contains(str)){Boolean flag = true;}else{Boolean flag = false;}
更多推荐
json与string/list相互转化
发布评论