JSON : JavaScript Object Notation
JSONÀº ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ ¾ð¾îÀûÀÎ Ãø¸é¿¡¼ »ó´çÈ÷ ÇÙ½ÉÀûÀÎ ±â´É °¡¿îµ¥ ÇϳªÀÌ´Ù. JSONÀ» È°¿ëÇÏ¸é °´Ã¼³ª ¹è¿ µîÀ» ¸¸µé¾î ³»´Â Äڵ带 ±²ÀåÈ÷ ±ò²ûÇÏ°Ô ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. JSONÀÌ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö¸¦ »ìÇ¥º¸·Á¸é, ¸ÕÀú ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼ ¹è¿ÀÌ ¾î¶² ±¸Á¶·Î µ¿ÀÛÇÏ´ÂÁö ÀÌÇØÇØ¾ß ÇÑ´Ù.
ÀÚ¹Ù½ºÅ©¸³Æ®¿¡´Â Array¶ó´Â ¹è¿ Ŭ·¡½º°¡ ³»ÀåµÅÀÖÀ¸¸ç, new ¶ó´Â Å°¿öµå¸¦ »ç¿ëÇØ ¾Æ·¡¿Í °°ÀÌ ¹è¿À» »ý¼ºÇÒ ¼ö ÀÖ´Ù.
myLibrary.books = new Array();
ÀÌ¿Í °°ÀÌ ¹è¿À» »ý¼ºÇÏ°í ³ª¸é C³ª ÀÚ¹Ù¿¡¼¿Í ºñ½ÁÇÏ°Ô ¹è¿ÀÇ Ç׸ñ¸¶´Ù ¹øÈ£¸¦ ÁöÁ¤ÇØ ¹è¿ °ªÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
myLibrary.books[4] = somePredefinedBook;
¹è¿ÀÇ °ªÀº ÀÌ¿Í °°ÀÌ ¹øÈ£¸¦ »ç¿ëÇØ ÁöÁ¤ÇÒ ¼ö µµ ÀÖÁö¸¸, ÀÚ¹ÙÀÇ MapŬ·¡½º, ÆÄÀ̽ã Directory, ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ ¸ðµç °´Ã¼¿Í °°ÀÌ ¼ýÀÚ°¡ ¾Æ´Ñ ¹®ÀÚ¿À» »ç¿ëÇØ °¢ ¼Ó¼ºÀ» ÁöÁ¤ÇÏ´Â ¹æ¹ýµµ ÀÖ´Ù.
myLibrary.books["BestSeller"] = somePredefinedBook;
ÀÌ·± ÇüÅÂÀÇ ¹®¹ýÀ¸·Î ¹è¿À» È°¿ëÇÏ¸é °¢°¢ÀÇ °ªÀ» ¼¼¹ÐÇÏ°Ô ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖÁö¸¸, ¹è¿À̳ª °´Ã¼¿¡ ´Ù·®ÀÇ ¼Ó¼º °ªÀ» ³Ö¾î¾ß ÇÏ´Â µîÀÇ °æ¿ì¿¡´Â ¾ÆÁÖ ±ÍÂú¾ÆÁø´Ù.
°¢ Ç׸ñÀ» ¼ýÀÚ ¹ýÈ£·Î ÁöÁ¤ÇÏ´Â ¹è¿Àº ´ë°ýÈ£ ¾È¿¡ °¢ ¹øÈ£¿¡ ÇØ´çÇÏ´Â °ªÀ» ½°Ç¥(,)·Î ±¸ºÐÇØ ¼ø¼´ë·Î ³Ö¾îÁÖ¸é Çѹø¿¡ ¹è¿°ªÀ» ¸ðµÎ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
myLibrary.books = [PredefinedBook1, PredefinedBook2, PredefinedBook3];
±×¸®°í ÀÚ¹Ù ½ºÅ©¸³Æ® °´Ã¼´Â Áß°ýÈ£¸¦ »ç¿ëÇÏ°í, °¢°¢ÀÇ ¼Ó¼º°ú °ªÀ» Å°:°ªÀÇ ÇüÅ·Π³ª¿ÇØ ¸¸µé¼ö ÀÖ´Ù.
myLibrary.books = {
bestSeller : PredefinedBook1,
cookbook : PredefinedBook2,
spaceFiller : PredefinedBook3
};
¹øÈ£°Ç ¹®ÀÚ¿ÀÌ°Ç ¾î¶² ¹æ¹ýÀ» »ç¿ëÇÏ´õ¶óµµ °ª ¾çÂÊ °ø¹éÀº ¸ðµÎ ¹«½ÃÇϱ⠶§¹®¿¡, Äڵ带 Àб⠽±°Ô À§¿Í °°ÀÌ ¿©·¯ÁÙ¿¡ ³ª´² ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. ¹°·Ð Å°·Î »ç¿ëÇÒ ¹®ÀÚ¿ °¡¿îµ¥¿¡ °ø¹éÀ» ³ÖÀ» ¼ö´Â Àִµ¥, ¹®ÀÚ¿¿¡ °ø¹éÀÌ µé¾î°¡´Ù¸é, ´ÙÀ½°ú °°ÀÌ ¾çÂÊ¿¡ µû¿ÈÇ¥¸¦ Âï¾îÁà¾ß ÇÑ´Ù.
"best Seller" : PredefinedBook1,
JSONÀ¸·Î °´Ã¼¸¦ »ý¼ºÇÒ ¶§¿¡´Â, ¿©·¯°³ÀÇ JSON »ý¼º ºÎºÐÀ» °èÃþ ±¸Á¶·Î ¿¬°áÇØ º¹ÀâÇÑ ±¸Á¶ÀÇ °´Ã¼¸¦ Çѹø¿¡ ¸¸µé¾î ³¾ ¼ö ÀÖ´Ù.
var myLibrary = {
location : "my house",
keywords : ["root vegetables", "turnip", "tedium"],
books : [
{
title : "Turnip Cultivation through the Ages",
authors : [
{ name : "Jim Brown", age : 9 }
{ name : "Jim Brown", age : 9 }
],
publicationDate : "long ago"
},
{
title : "Turnip Cultivation through the Ages",
authors : [
{ name : "Jim Brown", age : 9 }
{ name : "Jim Brown", age : 9 }
],
publica
tionDate : new Date(1605, 11, 05);
}
]
};
À§ÀÇ Äڵ带 º¸¸é myLibrary °´Ã¼¿¡ ¼Ó¼º 3°³¸¦ Ãß°¡Çß´Ù. locationÀº ´Ü¼øÇÑ ¹®ÀÚ¿ °ªÀÌ°í, keywords´Â ¿©·¯ °³ÀÇ ¹®ÀÚ¿¿¡ °¢°¢ ¹øÈ£¸¦ ºÙÀÎ ¹è¿°´Ã¼ÀÌ°í, books¿ª½Ã ¹øÈ£°¡ ºÙ¿©Áø ¹è¿Àε¥ ¹è¿ÀÇ Ç׸ñÀ¸·Î´Â Á¦¸ñ(¹®ÀÚ¿), ÃâÆÇÀÏÀÚ(Çѱºµ¥´Â ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ Date°´Ã¼¸¦ »ç¿ëÇß°í, ³ª¸ÓÁö´Â ±×³É ¹®ÀÚ¿À» »ç¿ë), ÀúÀÚ ¸ñ·Ï(¹è¿) µîÀÇ °ªÀ» °®´Â °´Ã¼°¡ µé¾îÀÖ´Ù. °¢°¢ÀÇ ÀúÀÚ´Â name°ú age°ªÀ» °®°í ÀÖ´Ù. ÀÌó·³ ÀϹÝÀûÀÎ °´Ã¼ »ý¼º ¹æ¹ýÀ» »ç¿ëÇßÀ» ¶§ ¼ö½Ê ÁÙÀÇ Äڵ带 »ç¿ëÇß¾î¾ß ÇÒ ¸¸ÇÑ ºÎºÐÀÌÁö¸¸, JSONÀ» È°¿ëÇÏ¸é ´Ü ÇѹøÀÇ ´Ü°è¿¡ Á¤º¸¸¦ ¸ðµÎ ³Ñ°ÜÁÖ¸é¼ ¶È°°Àº °´Ã¼¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Ù. (¹°·Ð ÀÌ ÇÁ·Î±×·¥À» ³×Å©À¨À¸·Î Àü¼ÛÇÏ´Â °æ¿ì Àü¼Û·®µµ ÁÙ¾îµç´Ù.)
À§¿¡ ¿¹Á¦¿¡¼ º¸¸é Date°´Ã¼¸¦ »ç¿ëÇߴµ¥ ¾î¶² ÇüÀÇ ÀÚ¹Ù½ºÅ©¸³Æ® Äڵ带 »ç¿ëÇصµ ¹«¹æÇϸç, Date°´Ã¼ ´ë½Å ³¯Â¥¸¦ »ý¼ºÇÏ´Â ÇÔ¼ö¸¦ ÁöÁ¤Çصµ µÈ´Ù.
function getpowderPlot() {
return new Date(1605, 11, 05);
}
var volNum=2;
var turnipVol2= {
title : "Turnip Cultivation through the Ages" + volNum,
authors : [
{ name : "Jim Brown", age : 9 }
],
publicationDate : getpowderPlot()
}
]
};
À̹ø Äڵ忡¼´Â Ã¥ÀÇ Á¦¸ñ¿¡ Ç¥Çö½Ä°ú µ¿ÀûÀÎ º¯¼ö¸¦ »ç¿ëÇߴµ¥ Ç¥Çö½ÄÀ» °è»êÇÑ °á°ú°¡ ½ÇÁ¦·Î Ã¥ÀÇ Á¦¸ñÀ¸·Î ÁöÁ¤µÇ°í, publicationDAte¼Ó¼º¿¡´Â ¹Ì¸® Á¤ÀǵÅÀÖ´Â getpowderPlot() ÇÔ¼öÀÇ ½ÇÇà °á°ú¸¦ ¼³Á¤Çϵµ·Ï µÇ¾îÀÖ´Ù.
¾Õ¿¡¼ ¼Ò°³ÇÑ ¿¹Á¦¸¦ º¸¸é getpowderPlot()ÇÔ¼ö¸¦ ¹Ì¸® ±¸ÇÑÇÑ ´ÙÀ½, trunipVol2°´Ã¼¸¦ »ý¼ºÇÏ´Â ¼ø°£ getpowderPlot() ÇÔ¼ö¸¦ È£ÃâÇϵµ·Ï ¸¸µé¾îÁ®ÀÖ´Ù. ÀÌ·¸°Ô JSONÀ¸·Î °´Ã¼¸¦ »ý¼ºÇÒ ¶§ ¼Ó¼º°ú ÇÔ¼ö¸¦ ¸ðµÎ ÁöÁ¤ÇÒ ¼ö ÀÖ°í, °´Ã¼¸¦ »ý¼ºÇÑ ÀÌÈÄ¿¡µµ ¾Æ·¡¿Í °°ÀÌ ÇÔ¼ö³ª ¼Ó¼ºÀ» ¾ó¸¶µçÁö Ãß°¡ÇÒ ¼ö ÀÖ´Ù.
var turnipVol2= {
title : "Turnip Cultivation through the Ages" + volNum,
authors : [
{ name : "Jim Brown", age : 9 }
],
publicationDate : getpowderPlot()
}
],
summarize:function(len) {
if (!len) { len=7; }
var summary = this.title + " by "
+ this.authors[0].name
+ " and his cronues is boring. Z";
for (var i=0;i<len;i++) {
summary+="z";
}
alert(summay);
}
};
turnipVol2.summarize(6);
À§¿¡ ¼Ò°³ÇÑ summarize()ÇÔ¼ö´Â ÀÎÀÚ¸¦ ³Ñ°Ü¹Þ°í, this¶ó´Â Å°¿öµå·Î ÇöÀç ½ÇÇàÁßÀÎ °´Ã¼ ÄÁÅؽº¸¦ ÂüÁ¶ÇÏ´Â µî ÀϹÝÀûÀÎ ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼ö°¡ °¡Áú ¼ö ÀÖ´Â ´ëºÎºÐÀÇ ±â´ÉÀ» È°¿ëÇÏ°í ÀÖ´Ù. ¾î·°Å³ª °´Ã¼¸¦ »ý¼ºÇÏ°í ³ª¸é ±×Àú ¶È°°Àº °´Ã¼ÀÏ »ÓÀ̱⠶§¹®¿¡ ÀÚ¹Ù½ºÅ©¸³ÀÇ ±âº»ÀûÀÎ ¹æ¹ý°ú ÇÔ²² JSONµµ ¾ó¸¶µçÁö ¼¯¾î¼ ÆíÇÑ´ë·Î È°¿ëÇÒ ¼ö ÀÖ´Ù. JSONÀ¸·Î »ý¼ºÇÑ ÀÚ¹Ù½ºÅ©¸³Æ® °´Ã¼ÀÇ ³»¿ëÀ» ÀϺΠ¼öÁ¤ÇØ¾ß ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù¸é, ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ ±âº»ÀûÀÎ ¹æ¹ýÀ» È°¿ëÇϴ°͵µ ÁÁ´Ù.
var members = { one:1 , two:2, three:3 };
memebrs.five = 5;
º¸´Ù½ÃÇÇ ÃÖÃÊ¿¡ °´Ã¼¸¦ »ý¼ºÇÒ ¶§¿¡´Â JSONÀ» È°¿ëÇß°í, °´Ã¼¿¡ ¼Ó¼ºÀ» Çϳª Ãß°¡ÇÒ¶§¿¡´Â ÀϹÝÀûÀÎ ÀÚ¹Ù½ºÅ©¸³ÀÇ ¼Ó¼º Ãß°¡¹æ¹ýÀ» »ç¿ëÇß´Ù. ¹°·Ð °Å²Ù·Î ÀÚ¹Ù½ºÅ©¸³Æ® ÀÏ¹Ý ¹æ¹ýÀ¸·Î »ý¼ºÇÑ °´Ã¼¿¡ JSONÀ» »ç¿ëÇØ ¼Ó¼ºÀ̳ª ÇÔ¼ö¸¦ Ãß°¡ÇÒ ¼öµµ ÀÖ´Ù.
var members = new Object();
members.five = 5;
members = { one:1 , two:2, three:3 };
Ãâó : Ajax in Action
|