設計的map如下:
map.put("46", "daf");
map.put("a2", "daf");
map.put("3", "daf");
map.put("e1", "333");期望按照上面這個順序輸出,結果與預期不一樣,

如何處理這個問題?
代碼如下:
1、controller
@RestController
@RequestMapping("/test")
@Api(tags = {"測驗map"}, description = "測驗map111")
public class TestController {
@PostMapping("/test")
@ApiOperation("MAP")
public ResultBody<Map> test() {
Map map = new HashedMap();
map.put("46", "daf");
map.put("a2", "daf");
map.put("3", "daf");
map.put("e1", "333");
System.out.println(map.size());
return new ResultBody(map);
}
}
2、ResultBody
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ResultBody<T> implements Serializable {
private String code;
private String msg;
private T data;
public ResultBody(String code) {
this.code = code;
this.msg = ResultCode.SELECT_SUCCESS.getCode();
}
public ResultBody(String code, String msg) {
this.code = code;
this.msg = msg;
}
public ResultBody(T data) {
this.code = ResultCode.SELECT_SUCCESS.getCode();
this.data = data;
this.msg = ResultCode.SELECT_SUCCESS.getMsg();
}
public static ResultBody success() {
return new ResultBody(ResultCode.SELECT_SUCCESS.getCode());
}
public static ResultBody success(Object data) {
return new ResultBody(data);
}
public static ResultBody fail() {
return new ResultBody(ResultCode.SELECT_ERROR);
}
public static ResultBody fail(String code, String msg) {
return new ResultBody(code, msg);
}
public static <T> ResultBody<T> failed(IErrorCode errorCode) {
return new ResultBody<T>(errorCode.getCode(), errorCode.getMsg(), null);
}
}
uj5u.com熱心網友回復:
那用LinkHashedMapuj5u.com熱心網友回復:
LinkHashedMap 用過,不管用。我猜測是jackson的問題,但是不知道如何解決。uj5u.com熱心網友回復:
1.自己轉成字串傳到前臺,不用spring的自動轉換2.改資料結構,用list
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/249222.html
標籤:Java相關
上一篇:2020-01-15:用戶登錄,保存30天的免登,只允許兩個設備登錄,如果有第三個設備登錄,踢掉第一個。改密碼的時候,所有設備需要下線。這個邏輯怎么實作呢?
