SPRING
2018.09.23 / 16:03

Spring¿¡¼­ Js¿¡¼­ µ¥ÀÌÅÍ ¹ÞÀ» ¶§ START_OBJECT token ¿¡·¯ ¹®Á¦

hangawee
Ãßõ ¼ö 173

JS¿¡¼­ °ªÀ» ¹ÞÀ¸·Á Çß´õ´Ï¡¦

SpringBoot¸¦ »ç¿ëÇÏ¿© JS¿¡¼­ JsonÀ¸·Î ¼­¹öÃø¿¡ µ¥ÀÌÅ͸¦ º¸³Â´õ´Ï ¾Æ·¡¿Í °°Àº ¿¡·¯°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.

Could not read JSON: Can not deserialize instance of hello.Country[] out of START_OBJECT token

»ç½Ç Á¦ ·Î±×´Â ¾Æ´Ï°í °Ë»öÇؼ­ ³ª¿Â ·Î±×ÀÔ´Ï´Ù¡¦ (ÀúÀå Çصδ °ÍÀ» ±ôºýÇÏ¿©¡¦)

ÀúÀÇ °æ¿ì ÀÌ ¹®Á¦°¡ ÀϾ ÄÉÀ̽º´Â Á¦°¡ °³¹ß ÁßÀÎ »ç³»Á¤º¸½Ã½ºÅÛ ±â´É Áß ÇϳªÀΠȸÀÇ·Ï ÀúÀå ±â´ÉÀ̾ú½À´Ï´Ù.
¸ÕÀú JS ´Ü¿¡¼­ Àü¼ÛÇÏ´Â µ¥ÀÌÅÍ´Â ¾Æ·¡¿Í °°½À´Ï´Ù.

1
2
3
jsonObj = {"meetingType":$('#meetTypeSelector').val(), "startDate":$('#startDate').val(), 
"member":$('#userSelector').val()}
jsonObj.boardDTO = {"title":$('#title').val(), "content":CKEDITOR.instances.editor1.getData()}

Àú±â µ¥ÀÌÅÍ Áß¿¡ member¶ó´Â °ªÀº Select2ÀÇ °ªÀε¥ ÀÌ°Ô ¹®Á¦¿´½À´Ï´Ù.
À§ÀÇ °ªÀ» ¹Þ´Â µ¥ÀÌÅÍ Áß¿¡ DTO¸¦ »ç¿ëÇϴµ¥ ¾Æ·¡¿Í °°½À´Ï´Ù.

1
2
3
4
5
6
7
8
9
10
@Getter
@Setter
@Accessors(chain = true)
public class MeetingLogDTO {
private DefaultBoardDTO boardDTO;
private MeetingLogType meetingType;
private String startDate;
private String member; //¹®Á¦ÄÚµå
//private List<String> member; //¼öÁ¤ÄÚµå (Á¤»ó µ¿ÀÛ)
}

À§ ÄÚµå´Â ÀϺΠÄÚµåÀ̸ç, Âü°í¿ëÀÔ´Ï´Ù.
ÁÖ¼®Àº Á¦°¡ ¼öÁ¤ÇÑ °ÍÀÌ°í, ±âÁ¸¿¡´Â StringÀ» »ç¿ëÇÏ¿´´Âµ¥ ÀÌ ºÎºÐÀÌ ¹®Á¦¿´½À´Ï´Ù.
JS¿¡¼­ º¸³½ memberÀÇ °æ¿ì StringÀ¸·Î ¿À´ÂÁÙ Âø°¢À» ÇÏ°í ÀÖ¾ú´Âµ¥, log¸¦ Âï¾î¼­ º¸´Ï¡¦¹è¿­·Î ¿À°í ÀÖ¾ú½À´Ï´Ù.
±×·¡¼­ ÀÌ ºÎºÐÀ» String -> List À¸·Î º¯È¯ÇÏ¿´´õ´Ï ¹®Á¦°¡ ÇØ°á µÇ¾ú½À´Ï´Ù.


°á·Ð

À§ ¹®Á¦°¡ ¹ß»ýÇÑ °æ¿ì¿¡´Â ´ÙÀ½ ºÎºÐÀ» È®ÀÎÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù.

1. JSÀÇ Json Àü´Þ ºÎºÐÀÇ µ¥ÀÌÅÍ°¡ ¹è¿­ÀÎÁö ÀÏ¹Ý ¹®ÀÚ¿­ÀÎÁö È®ÀÎÇÒ °Í.
2. Back-end ºÎºÐ¿¡¼­ JsonÀ» ¹Þ´Â ºÎºÐÀÎ DTO(¶Ç´Â ¸ÅÇÎ °´Ã¼)ÀÇ °ªÀÇ ÀÚ·áÇüÀ» È®ÀÎÇØ º¼°Í