jackson tojsonString 去除值为null的拼接

本文展示了如何使用Jackson库在将对象转换为JSON时,排除value为null的key,仅保留有效数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很多人在把一个对象转成json得,并不希望把key对应的value为null的这个key出现在json中,我自己正好有这个需求,查看api发现,有很多可配置的序列化参数,各位可以根据需要配置想要的参数值,实例如下
public static void main(String[] args) {
		Map map = new HashMap();
		map.put("test", null) ;
		map.put("1", 1) ;
		String jsonstr = null ;
		ObjectMapper om = new ObjectMapper(new JsonFactory());
		try {
			om.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false);    //配置不写value为null的key
			jsonstr =  om.writeValueAsString(map);
		} catch (Exception e) {
			log.warn("to json string exception, will use fastjson to parse", e);
		}
		 System.out.println(jsonstr);
	}

结果:

{"1":1}




### 如何在Maven项目中使用`JacksonUtil.toJSONString` 为了能够在Maven项目中使用`toJSONString`方法,通常会依赖于流行的Java库——Jackson。此过程涉及几个关键步骤。 #### 添加Jackson依赖 首先,在项目的`pom.xml`文件内添加Jackson数据绑定库作为依赖项[^1]: ```xml <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.13.0</version> </dependency> ``` 版本号应根据实际需求调整至最新稳定版。 #### 创建并配置工具类 接着定义一个名为`JacksonUtil`的静态辅助类来封装对象到JSON字符串转换的功能。下面是一个简单的实现方式: ```java import com.fasterxml.jackson.databind.ObjectMapper; public class JacksonUtil { private static final ObjectMapper objectMapper = new ObjectMapper(); public static String toJSONString(Object obj) throws Exception{ return objectMapper.writeValueAsString(obj); } } ``` 这段代码初始化了一个`ObjectMapper`实例用于处理序列化操作,并提供了一个公共的方法接受任意类型的输入参数将其转化为对应的JSON表示形式。 #### 使用示例 最后展示如何调用上述自定义工具函数完成目标功能: ```java @Test void testToJsonString(){ Map<String, Object> data = new HashMap<>(); data.put("name", "example"); try { String jsonString = JacksonUtil.toJsonString(data); System.out.println(jsonString); } catch (Exception e){ e.printStackTrace(); } } ``` 通过这种方式可以轻松地把Java对象转成JSON格式的数据串以便进一步的应用逻辑开发或调试输出之用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值