java后台给app提供接口怎么封装需要的数据?

小鬼头love盘 发布于 2017/10/18 13:45
阅读 1K+
收藏 1

怎么只传name和roleKey这两个值,其他的都不需要

加载中
1
开源中国首席罗纳尔多
开源中国首席罗纳尔多

JSON有个属性而已过滤null的value

开源中国首席罗纳尔多
开源中国首席罗纳尔多
那你就让需要的值里面不为空
小鬼头love盘
小鬼头love盘
如果需要的值里面有空的咋办
0
孤丶狼丶
孤丶狼丶

那就别用UserType类嘛,重写个类或者用Map,

Map<String ,String> userMap1= new HashMap<>();
userMap.put("name","小米1");
userMap.put("rolKey":"1");
uList.add(userMap1);

 

小鬼头love盘
小鬼头love盘
如果我要取UserType类的前20条数据,里面有很多字段,我只要其中的两个这样该咋办,要一个个循环取需要的数据放到另一个集合里去吗,不是很理解
0
小鬼头love盘
小鬼头love盘

大哥你是说这样吗

0
颖辉小居
颖辉小居

那些message  object 什么的要不要,如果不要那个jsonBean也就别用了。因为可能会有默认值,就算是null,你的json机制都可能把写入到json

0
颖辉小居
颖辉小居
	@ResponseBody
	@RequestMapping("ssdasdsdadsadad")
	public List<Map<String,String>> returnObject(){
		List<Map<String,String>> list=new ArrayList<Map<String,String>>();
      //下面的map你可以定义一个只有这两个属性的bean
		Map<String,String> map=new HashMap<String, String>();
		map.put("name", "小米1");
		map.put("roleKey", "1");
		Map<String,String> map2=new HashMap<String, String>();
		map2.put("name", "小米2");
		map2.put("roleKey", "2");
		list.add(map);
		list.add(map2);
		return list;
	}

 

小鬼头love盘
小鬼头love盘
数据多的话我要再循环封装一遍吗
0
臭水沟
臭水沟

看你配置的是哪个转换器

比如: jackson。。

那么你可以去配置一下ObjectMapper对象,里面可以设置,null属性不输出。

结果如下:

{
"name": "小米",
"rolekey: 1
}

 

小鬼头love盘
小鬼头love盘
有的时候某些name也为空,咋办
0
Jeakiry
Jeakiry

fastjson 序列化可以过滤实体返回字段属性

SimplePropertyPreFilter filter = new SimplePropertyPreFilter(UserType.class, "name","rolekey")
jb.setList(JSON.parseArray(JSONObject.toJSONString(uList,filter)));

 

 

0
小鬼头love盘
小鬼头love盘

谢谢各位,差不多已经了解了

小鬼头love盘
小鬼头love盘
回复 @Gooder : 就他们说的那样呀
Gooder
Gooder
怎么解决的
0
polly
polly

UserType 实体类上加个注解:

@JsonInclude(JsonInclude.Include.NON_NULL)
public class UserType{
//...
}

 

返回顶部
顶部