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 座標

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.58</version>
        </dependency>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章