StringBoot中String转JSON,JSON转Map或List

本文介绍了在Java中如何将String转换为JSON,以及如何将JSON转换为List和Map。强调在转换时需注意JSON数据的格式,如List数据需在方括号中,而单条数据适合存储到Map中。

StringBoot中String转JSON,JSON转Map或List

废话不多说直接上干货

String转JSON

没有什么特别注意的,直接把Object的值放入JSON.toJSONString(args)中

Object[] args = [{"id":1,"sex":1,"name":"蒙娜丽莎"}];
String json = JSON.toJSONString(args);

JSON转List

注意: 在转List集合之前你需要先查看JSON是单条还是多条数据,数据是否在【】括号里面,只有在【】括号里面才符合ArrayList集合的格式;

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;

// JSON格式的字符串转换为List<Map<String,Object>>
 ObjectMapper objectMapper = new ObjectMapper();

 try {
   List<Map<String, Object>> list = objectMapper.readValue(json, List.class);
   System.err.println("list = " + list);	//打印:[{del=false, gdsj=1619364722000, hdbh=蒙娜丽莎, jdr=交档人, scwj=上传文件, sdr=收档人}]
   for (int i = 0; i < list.size(); i++) {
   		//直接获取想要的字段
       json = (String) list.get(i).get("name");
   }
 } catch (IOException e) {
       e.printStackTrace();
 }

JSON转Map

注意: 如果你的JSON只会存在一条数据,建议使用Map集合,这样可以减少代码的编写数量并且更精确的调用指定字段;
注意: 建议于数据是不在【】括号里面的集合的格式

/**
 * 注意导包
 */
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;

Map<String, Object> list = objectMapper.readValue(json , new TypeReference<Map<String, Object>>() {});
    System.err.println("list = " + list);	//list = {code=1, data=true, message=归档成功}
	params = (String) list.get("message");
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值