일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Push
- NextJS
- jenkins
- centos7
- Maven
- config
- nodejs
- Java
- yona
- rocky9
- MSsql
- git
- mysql
- security
- SpringBoot
- jquery
- MariaDB
- Tomcat
- node.js
- javascript
- Eclipse
- FCM
- pwa
- popup
- PM2
- mybatis
- Next.js
- ajax
- docker
- spring3
- Today
- Total
종이 한장 차이...
java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to ~ 관련 정보. 본문
java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to ~ 관련 정보.
graykang 2024. 3. 14. 16:23spring 버전을 3.x 번대로 업그레이드를 한 프로젝트가 있는데 jsonArray를 List<VO>로 받아서 사용을 할 때
java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to ~ 요 딴 에러가 발생하면 아래와 같이
처리를 해주면 되더라는...
구글링 결과 spring3.x 버전의 버그 때문 이라는 말도 있는데 흠...
아무튼 object mapper로 convertValue 처리를 해주어야 한다고 한다.
@Override
public JSONObject saveAuthList(List<AuthVO> jsondata) throws Exception {
JSONObject responseJson = new JSONObject();
ObjectMapper mapper = new ObjectMapper();
try {
if(jsondata != null && !jsondata.isEmpty()) {
List<AuthVO> convertedList = mapper.convertValue(jsondata, new TypeReference<List<AuthVO>>(){});
for(AuthVO authVO : convertedList) {
if(authVO.getUa_authtype() == 0) {
// Delete
mposDao.deleteMenu(authVO);
} else {
// Save
mposDao.saveInsertAuthInfo(authVO);
}
}
responseJson.put("msg", "권한 설정을 저장하였습니다.");
}
} catch (Exception e) {
responseJson.put("msg", "권한 설정 중 오류가 발생하였습니다.");
e.printStackTrace();
}
return responseJson;
}
ObjectMapper mapper = new ObjectMapper(); 를 명시하고,
LIST <AuthVO>로 받은 json객체를 아래와 같이 변환.
List <AuthVO> convertedList = mapper.convertValue(jsondata, new TypeReference <List <AuthVO>>(){});
java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.testing.models.Account
I'm getting below error: java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.testing.models.Account with below code final int expectedId = 1; Test newTest = create(); int
stackoverflow.com
'Spring' 카테고리의 다른 글
Http v1 FCM Admin SDK mulit tocken send message By topic (0) | 2024.06.27 |
---|---|
SpringBoot2.3.3 TO SpringBoot2.7.12 upgrad (0) | 2024.03.27 |
Spring3 @Scheduled를 사용하기 위한 준비 (1) | 2023.12.12 |
Spring3 @Transactional rollbackFor = {Exception.class} 사용시 참고 (2) | 2023.12.04 |
mybatis INSERT 후 PK(자동생성된ID) 반환 받기(useGeneratedKeys) (0) | 2023.11.27 |