초코레

ajax에서 보낸 list json을 java에서 받기 본문

메모

ajax에서 보낸 list json을 java에서 받기

초코레 2020. 10. 4. 22:14
  • 앞단에서 리스트와 다른 파라미터를 함께 넘기면
1
2
3
4
5
6
7
8
9
10
var list = [{name'홍길동', number: 1}, {name'김철수', number: 2}];
 
$.ajax({
    type: 'POST',
    url: '/url',
    data: {list: JSON.stringify(list), flag: 'Y'},
    success: function(res){
    
    }
});
cs

 

  • 이 경우 컨트롤러에서 파라미터 타입을 Map으로 받고 String 형태의 json을 List로 변환한다.
1
2
3
4
5
6
7
8
9
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.type.TypeReference;
 
@PostMapping(value = "/url")
public void jsonList(@RequestParam Map params) throws Exception {
    String json = params.get("list").toString();
    ObjectMapper mapper = new ObjectMapper();
    List list = mapper.readValue(json, new TypeReference<List<Map<StringObject>>>(){});
}
cs

 

  • DTO로 변환할 경우
1
List<DTO> list = mapper.readValue(json, new TypeReference<ArrayList<DTO>>(){});
cs

'메모' 카테고리의 다른 글

AWS 포트 번호 없이 요청하기  (0) 2020.11.11
파일업로드와 Ajax 옵션  (0) 2020.07.31