JSONArray返回数据,List 对象属性值为null,不显示key值的解决方案

导包信息:
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.util.Collections;
@ResponseBody
	@RequestMapping(value = "xxxx")
	public ResponseData xxxx(String xxx, @RequestParam(defaultValue = "types") String types) {
		ResponseData data = operateFailed("操作失败,未获取到数据!");
		if (StringUtils.isBlank(xxx)) {
			data = operateFailed("xxx为空!");
			return data;
		}
		//查询勾选的数据
		List<User> userList = usereService.getList(user);
		userList.removeAll(Collections.singleton(null));//移除空元素
		if (CollectionUtils.isNotEmpty(selectedList)) {
			JSONArray userArray = JSONArray.parseArray(JSON.toJSONString(userList, SerializerFeature.WriteNullStringAsEmpty));
			data = operateSucess("获取数据成功,数量为:" + userList.size(), userArray);
		}
		return data;
	}
其他方法属性:

SerializerFeature类里的一些属性的具体含义

QuoteFieldNames———-输出key时是否使用双引号,默认为true

WriteMapNullValue——–是否输出值为null的字段,默认为false

WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null

WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null

WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null

WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非null
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐