alibaba fastjson 1.2.47 相似key 字符串格式化 对象 bug解决

背景:

前端同事传了两个参数给后台

前端参数 json 

{
	"taskSheet": {
		"taskType": "SS,40288c566a4d8ffa016a4dffe156000e",
		"_taskType": ["SS", "40288c566a4d8ffa016a4dffe156000e"]
	}
}

后端接收实体类方式

taskSheet 对象只有taskType 属性 ,无_taskType

在controller 打印出来发现 taskType 的置是前端 _taskType的值 

后端输出的值

taskType: ["SS","40288c566a4d8ffa016a4dffe156000e"]

 

我猜想 会不会 字符串格式化为对象时,是把 _taskType 和taskType 认为是同一个属性 ,_taskType 的值把 taskType的值 覆盖了

把前端参数 json  换一个位置

{
	"taskSheet": {
		"_taskType": ["SS", "40288c566a4d8ffa016a4dffe156000e"],
		"taskType": "SS,40288c566a4d8ffa016a4dffe156000e"
	}
}

后端输出的值

taskType: "SS","40288c566a4d8ffa016a4dffe156000e"

果然是覆盖了

 

解决方案:

把 1.2.47 升级最新版1.2.58即可,maven 坐标

        
            com.alibaba
            fastjson
            1.2.58
        

 

你可能感兴趣的:(json)