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,2001
		1002,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;
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值