json格式化返回自动添加List属性

Blade 未结 1 1068
1293906886
1293906886 剑者 2020-06-15 14:28
悬赏:10

一、该问题的重现步骤是什么?

  1.  新建实体类如下

image.png

2. controller层返回数据

image.png

3.controller层Sout输出的内容为:

[{
	"label": "基础设施层",
	"value": "iaas",
	"children": [{
		"label": "主机服务器类",
		"value": "server"
	}, {
		"label": "虚拟主机服务器类",
		"value": "virtual_server"
	}, {
		"label": "存储设备类",
		"value": "store"
	}, {
		"label": "网络设备类",
		"value": "network"
	}, {
		"label": "其他基础设施",
		"value": "other"
	}, {
		"label": "基础设施集群",
		"value": "Iaas_cluster"
	}]
}, {
	"label": "平台资源层",
	"value": "paas",
	"children": [{
		"label": "数据库中间件",
		"value": "db_middleware"
	}, {
		"label": "应用服务器中间件",
		"value": "appserver_middleware"
	}]
}, {
	"label": "软件服务类",
	"value": "saas",
	"children": [{
		"label": "应用系统类",
		"value": "app_system"
	}, {
		"label": "软件包",
		"value": "software_package"
	}]
}]


二、你期待的结果是什么?实际看到的又是什么?

期待的结果是上述Sout输出的内容

实际是

[
		{
			"label":"基础设施层",
			"value":"iaas",
			"children":[
				{
					"label":"主机服务器类",
					"value":"server",
					"children":[
						
					]
				},
				{
					"label":"虚拟主机服务器类",
					"value":"virtual_server",
					"children":[
						
					]
				},
				{
					"label":"存储设备类",
					"value":"store",
					"children":[
						
					]
				},
				{
					"label":"网络设备类",
					"value":"network",
					"children":[
						
					]
				},
				{
					"label":"其他基础设施",
					"value":"other",
					"children":[
						
					]
				},
				{
					"label":"基础设施集群",
					"value":"Iaas_cluster",
					"children":[
						
					]
				}
			]
		},
		{
			"label":"平台资源层",
			"value":"paas",
			"children":[
				{
					"label":"数据库中间件",
					"value":"db_middleware",
					"children":[
						
					]
				},
				{
					"label":"应用服务器中间件",
					"value":"appserver_middleware",
					"children":[
						
					]
				}
			]
		},
		{
			"label":"软件服务类",
			"value":"saas",
			"children":[
				{
					"label":"应用系统类",
					"value":"app_system",
					"children":[
						
					]
				},
				{
					"label":"软件包",
					"value":"software_package",
					"children":[
						
					]
				}
			]
		}
	]

也就是说CascaderTreeData类的@JsonInclude(JsonInclude.Include.NON_EMPTY)注解未起作用,值为null的列表list序列化的时候会变成[]。

三、你正在使用的是什么产品,什么版本?在什么操作系统上?

BladeX2.5.0

四、请提供详细的错误堆栈信息,这很重要。

五、若有更多详细信息,请在下面提供。

1条回答
  • 2020-06-15 15:01

    目前想到的办法就是用阿里巴巴的fastjson先转一遍:

    image.png

    1 讨论(0)
提交回复