jsp¿¡¼ json object Çü½ÄÀ» key1=value1&key2=value2ÀÎ querystring Çü½ÄÀ¸·Î ¸¸µé¾îÁÖ´Â function
Q&A¿¡µµ ¿Ã·È´Âµ¥ Ȥ½Ã À¯¿ëÇÏ°Ô ¾²½Ç ºÐ ÀÖÀ¸½Ç±î Çؼ Tech¿¡µµ °øÀ¯ µå¸³´Ï´Ù.
À̹ø¿¡ ÇÃÁ§ ¶Ù¸é¼ °øÅë ½ºÅ©¸³Æ®¸¦ ¸¸µå´Âµ¥ jsonÇü½ÄÀÇ ÆĶó¹ÌÅ͸¦ querystringÀ¸·Î ¸¸µé¾î¼ ³Ñ°ÜÁà¾ß ÇÒ °æ¿ì°¡ »ý°Ü¼¿ä
Æã¼Ç ÇÑ ¹ø Â¥ ºÃ½À´Ï´Ù.
for (var data in jsonObj) ·Î Çؼ 1´Ü°è ¸¸ ³Ñ±â´Â°Ô ¾Æ´Ï¶ó ÇÏÀ§°èÃþ±îÁö ´Ù ¸¸µé¾î ÁÝ´Ï´Ù.
¿¹¸¦ µé¸é
var json = { arr1 : [1,2,3], obj1 : { child_arr1 : ["a","b","c"], child_arr2 : ["x", "y", "z"] } obj2 : { child_str1 : "¾È³çÇϼ¼¿ä", child_str2 : "°³¹ßÀÚ ÀÔ´Ï´Ù"}
obj3 : [ { key:"color", value:"blue" }, { key:"color", value:"black"} ]str1 : "test1" }
À§¿Í °°Àº json object¸¦
arr1[0]=1&arr1[1]=2&arr1[2]=3&obj1.childarr1[0]=a&obj1.childarr1[1]=b ....
... Áß·« ...
obj3[0].key=color&obj3[0].value=blue&obj3[1].key=color&obj3[1].value=black&obj2.child_str1=¾È³çÇϼ¼¿ä&obj2.child_str2=°³¹ßÀÚ ÀÔ´Ï´Ù&str1=test1
À§Ã³·³ Äõ¸®½ºÆ®¸µÀ¸·Î ¹Ù²ã ÁÝ´Ï´Ù. (¿µ¾î¿Í ¼ýÀÚ¸¦ Á¦¿ÜÇÑ ¹®ÀÚ´Â ÀÎÄÚµù ó¸® ÇÕ´Ï´Ù)
¹è¿Àº java¿¡¼ List<String> À¸·Î ¹ÞÀ¸¸é µÇ°í
¿ÀºêÁ§Æ® ¸®½ºÆ®´Â List<Ŭ·¡½º> ·Î ¹ÞÀ¸¸é µË´Ï´Ù
¿©·¯ ÇàÀ» Çѹø¿¡ ó¸® ÇÒ ¶§ jsonÇü½Ä ÆĶó¹ÌÅÍ·Î ³Ñ±â´Ï Àß ¾ÈµÅ¼ querystringÀ¸·Î ³Ñ°å´Âµ¥ ¸Å¹ø ³ë°¡´Ù ÇÏ±â ½È¾î¼ ¸¸µé¾î ºÃ½À´Ï´Ù ¤¾¤¾
Àç±ÍÇÔ¼ö¸¦ ½á¼ ¸¸µé¾ú´Âµ¥¿ä. ³ª¸§ ¸Ó¸® Á» ±¼¸®¸é¼ ÇÑ°Å¶ó ¹º°¡ »ÑµíÇؼ °øÀ¯ÇÕ´Ï´Ù~
¾Æ·¡´Â javascript °øÅë function ÀÔ´Ï´Ù
var htmlUtils = {
encodeURI : function(contents, encoding) {
var encoding = typeof encoding == 'undefined' || encoding == "" ? "UTF-8" : encoding;
return encodeURIComponent(contents, encoding);
},
encodingCheck : function(contents) {
var regCheck = /^[A-Za-z0-9]$/;
return regCheck.test(contents);
},
tempQS : "",
jsonToQS : function(param) {
htmlUtils.tempQS = "";
jsonToQSTemp(param);
return htmlUtils.tempQS;
}
}
function jsonToQSTemp(param, keyString) {
if (typeof param == "object") {
if (Array.isArray(param)) {
for (var i = 0; i < param.length; i++) {
if (typeof param[i] == "object") {
jsonToQSTemp(param[i], keyString + "[" + i + "]");
}
else {
if (typeof keyString != 'undefined' && keyString != "") {
jsonToQSTemp(param[i], keyString + "[" + i + "]");
}
}
}
}
else {
for (var key in param) {
if (typeof param[key] == "object") {
if (Array.isArray(param[key])) {
jsonToQSTemp(param[key], key);
}
else {
jsonToQSTemp(param[key]);
}
}
else {
if (typeof keyString != 'undefined' && keyString != "") {
jsonToQSTemp(param[key], keyString + "." + key);
}
else {
jsonToQSTemp(param[key], key);
}
}
}
}
}
else {
if (htmlUtils.tempQS != "") {
htmlUtils.tempQS += "&"
}
if (!htmlUtils.encodingCheck(param)) {
param = htmlUtils.encodeURI(param);
}
htmlUtils.tempQS += keyString + "=" + param;
}
}
¾²½Ç ¶§´Â
$("#divKeyCheckList").find("input:checkbox").each(function() { var id = this.value; var isChecked = $(this).is(":checked"); var isExist = false; $.map($("#orgKeywords").val().split(","), function(arrData) { if (arrData == id) { if (isChecked) { isExist = true; } else { arrKey.push({key : id, value : "D"}); } } }); if (!isExist && isChecked) { var paramObj = new Object(); paramObj.key = id; paramObj.value = "I"; arrKey.push(paramObj); } }); var param = { interKeywordId : $("#updateId").val(), interKeywordNm : $("#keywords").val(), shareYn : $("#chkShare").is(":checked") ? "Y" : "N", "saveInfoList" : arrKey, rmrk : $("#comments").val() }; console.log(param); var querystringParam = htmlUtils.jsonToQS(param); console.log(querystringParam);
À§Ã³·³ ÇÏ½Ã¸é µË´Ï´ç
java¿¡¼´Â
@ModelAttribute("exKeywordVO") ExKeywordVO exKeywordVO
ÄÁÆ®·Ñ·¯¿¡¼ À§Ã³·³ ¹Þ¾Ò°í
ExKeywordVO ¿¡´Â ¾Æ·¡Ã³·³ List Object °¡ ¼±¾ðµÇ¾î ÀÖ½À´Ï´Ù.
¸®½ºÆ® Çü½Ä°ú ÇÔ²² string Çü½Äµµ °°ÀÌ ÀÖ½À´Ï´Ù.
private List<KeyAndValueVO> saveInfoList;
public List<KeyAndValueVO> getSaveInfoList() {
return saveInfoList;
}
public void setSaveInfoList(List<KeyAndValueVO> saveInfoList) {
this.saveInfoList = saveInfoList;
}
KeyValueVO´Â
public class KeyAndValueVO {
private String key;
private String value;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
´Ü¼ø Key Value ÀÔ´Ï´Ù.
Àú´Â Àß ¾²°í ÀÖ½À´Ï´Ù¸¸ Ȥ½Ã ¹ö±×°¡ ÀÖÀ»Áö´Â ¸ð¸£°Ú³×¿ä
Å©·Ò¿¡¼ ÄַܼΠÂï¾îº¸¸é À§Ã³·³ Àß ¹Ù²î´Â °É º¼ ¼ö ÀÖ½À´Ï´Ù
Ȥ½Ã ¸ô¶ó ¾ÆÀ̵𠰪µéÀº Áö¿ì°³·Î Á» Áö¿ü½À´Ï´Ù
À¯¿ëÇÏ°Ô ¾²¼ÌÀ¸¸é ÁÁ°Ú½À´Ï´Ù ^^