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

所有评论(0)