µ±Ç°Î»Öà : Ê×Ò³> ÍøÂç±à³Ì
jsonµÄ¶¨Òå¡¢±ê×¼¸ñʽ¼°json×Ö·û´®¼ìÑé
ÏÖÔÚÔ½À´Ô½¶àµÄÏîÄ¿ºÍ¿ª·¢²å¼þµÈĬÈ϶¼»áÖ§³ÖºÍʹÓÃjsonÊý¾Ý¸ñʽ£¬×÷ΪÊý¾Ý±£³Ö¡¢´«ÊäµÄÒ»ÖÖ·½Ê½¡£
˵ÊÇÆäÖÐÒ»ÖÖ£¬¾Í±êʾ»¹ÓкöàÆäËû¸ñʽ¡£±ÈÈ磺×î¶àÊÇxml¡£webserviceµÄ±ê×¼Êý¾Ý¸ñʽ¡£
²»¹ýÓÉÓÚjsonÊÇjavascript ¶ÔÏó±íʾ·¨£¨javascript object notation£©£¬ÌìÉú¾Í¶ÔjsÖ§³ÖºÜºÃ£¬
ËùÒÔÏÖÔںܶàµÄajaxµÈ¶¼Ê¹ÓÃjson£¬·´¶ø»á¸üºÃ´¦ÀíһЩ¡£
1¡¢¶¨Òå
ʲôÊÇ json £¿
1.json Ö¸µÄÊÇ javascript ¶ÔÏó±íʾ·¨£¨javascript object notation£©
2.json ÊÇÇáÁ¿¼¶µÄÎı¾Êý¾Ý½»»»¸ñʽ
3.json ¶ÀÁ¢ÓÚÓïÑÔ *
4.json ¾ßÓÐ×ÔÎÒÃèÊöÐÔ£¬¸üÒ×Àí½â
* json ʹÓà javascript Óï·¨À´ÃèÊöÊý¾Ý¶ÔÏ󣬵«ÊÇ json ÈÔÈ»¶ÀÁ¢ÓÚÓïÑÔºÍÆ½Ì¨¡£json ½âÎöÆ÷ºÍ json ¿âÖ§³ÖÐí¶à²»Í¬µÄ±à³ÌÓïÑÔ¡£
w3cµÄ±ê׼˵Ã÷ÈçÏ£º
json(javascript object notation) ÊÇÒ»ÖÖÇáÁ¿¼¶µÄÊý¾Ý½»»»¸ñʽ¡£ Ò×ÓÚÈËÔĶÁºÍ±àд¡£Í¬Ê±Ò²Ò×ÓÚ»úÆ÷½âÎöºÍÉú³É¡£ Ëü»ùÓÚjavascript programming language, standard ecma-262 3rd edition - december 1999µÄÒ»¸ö×Ó¼¯¡£ json²ÉÓÃÍêÈ«¶ÀÁ¢ÓÚÓïÑÔµÄÎı¾¸ñʽ£¬µ«ÊÇҲʹÓÃÁËÀàËÆÓÚcÓïÑÔ¼Ò×åµÄϰ¹ß£¨°üÀ¨c, c++, c#, java, javascript, perl, pythonµÈ£©¡£ ÕâÐ©ÌØÐÔʹjson³ÉΪÀíÏëµÄÊý¾Ý½»»»ÓïÑÔ¡£
json½¨¹¹ÓÚÁ½Öֽṹ£º
1.¡°Ãû³Æ/Öµ¡±¶ÔµÄ¼¯ºÏ£¨a collection of name/value pairs£©¡£²»Í¬µÄÓïÑÔÖУ¬Ëü±»Àí½âΪ¶ÔÏó£¨object£©£¬¼Í¼£¨record£©£¬½á¹¹£¨struct£©£¬×ֵ䣨dictionary£©£¬¹þÏ£±í£¨hash table£©£¬ÓмüÁÐ±í£¨keyed list£©£¬»òÕß¹ØÁªÊý×é £¨associative array£©¡£
2.ÖµµÄÓÐÐòÁÐ±í£¨an ordered list of values£©¡£Ôڴ󲿷ÖÓïÑÔÖУ¬Ëü±»Àí½âΪÊý×飨array£©¡£
ÕâЩ¶¼Êdz£¼ûµÄÊý¾Ý½á¹¹¡£ÊÂʵÉϴ󲿷ÖÏÖ´ú¼ÆËã»úÓïÑÔ¶¼ÒÔijÖÖÐÎʽ֧³ÖËüÃÇ¡£ÕâʹµÃÒ»ÖÖÊý¾Ý¸ñʽÔÚͬÑù»ùÓÚÕâЩ½á¹¹µÄ±à³ÌÓïÑÔÖ®¼ä½»»»³ÉΪ¿ÉÄÜ¡£
json¾ßÓÐÒÔÏÂÕâЩÐÎʽ£º
¶ÔÏóÊÇÒ»¸öÎÞÐòµÄ¡°¡®Ãû³Æ/Öµ'¶Ô¡±¼¯ºÏ¡£Ò»¸ö¶ÔÏóÒÔ¡°{¡±£¨×óÀ¨ºÅ£©¿ªÊ¼£¬¡°}¡±£¨ÓÒÀ¨ºÅ£©½áÊø¡£Ã¿¸ö¡°Ãû³Æ¡±ºó¸úÒ»¸ö¡°:¡±£¨Ã°ºÅ£©£»¡°¡®Ãû³Æ/Öµ' ¶Ô¡±Ö®¼äʹÓá°,¡±£¨¶ººÅ£©·Ö¸ô¡£
×¢Ò⣺Èç¹ûºǫֱ́½Ó´«µÝ¶ÔÏóÀ´js£¬ÔòÊÇjson¸ñʽµÄ¡£²Î¿¼ÎÄÕ£º
[]
[]
Êý×éÊÇÖµ£¨value£©µÄÓÐÐò¼¯ºÏ¡£Ò»¸öÊý×éÒÔ¡°[¡±£¨×óÖÐÀ¨ºÅ£©¿ªÊ¼£¬¡°]¡±£¨ÓÒÖÐÀ¨ºÅ£©½áÊø¡£ÖµÖ®¼äʹÓá°,¡±£¨¶ººÅ£©·Ö¸ô¡£
×¢Ò⣺´«µÝÊý¾ÝÕâ¸ö¾ÍºÃÀí½â¡£Æäʵ¾ÍÒ»¸öarray¡£arrayºÍjsonÖ±½ÓµÄ¹ØÏµ£¬Çë²Î¿¼ÎÄÕ£º
[javascript¶ÔÏó¼°Êý×é jsonµÄһЩÁ˽â˵Ã÷]
2¡¢json±ê×¼£º
json±íʾ£ºÎÒûÓбê×¼¡£¹þ¹þ¡£ÎÒ˵µÄ±ê×¼ÊÇָʲôÑùµÄ¸ñʽ»¯µÄ×Ö·û´®js²ÅÄܽâÎö³Éjson£¿
ÏÂÃæÕâ¸öjson´®¾ÍÊÇÕýÈ·µÄ£º
´úÂëÈçÏÂ:
{
employees: [
{
firstname: bill,
lastname: gates
},
{
firstname: george,
lastname: bush
},
{
firstname: thomas,
lastname: carter
}
]
}
×¢Ò⣺
json´®£¬ÔÚjsÖлá½âÎö³É¶ÔÏ󡣯äÖжÔÏóµÄÃû³Æ±ÈÈ磺
employees¡¢firstname£¬±ØÐëÓûòÕß''ÒýÆðÀ´²ÅÐС£ºóÃæµÄvalue£¬Èç¹ûÊÇintºÍbool£¨jsÊDz»Çø·ÖµÄŶ£©£¬¿ÉÒÔ²»ÓûòÕß''ÒýÆðÀ´£¬ÆäËûµÄ×Ö·û´®±ØÐëÒýÆðÀ´£¬ÓÈÆäÊǼǵðÑʱ¼äÈÕÆÚÒýÆðÀ´£¡
×ܽáÈçÏ£º
ÀïÃæµÄÊÇÒ»¸ö¶ÔÏó£¬Èç¹ûÊǶà¸ö¶ÔÏó£¬ÔòÓöººÅ¼ä¸ô£¬¼´{},{}£¬ÕâÑù¾Í×é³ÉÁËÒ»¸ö¶ÔÏóÐòÁУ¬ÎªÁ˱æ±ð¿ªÊ¼ºÍ½áÊø£¬ÔòÐèÒª¼ÓÉÏ[]²ÅÄܽøÐд«µÝ£¬Ôòʵ¼Ê´«µÝµÄÐÎʽӦ¸ÃÊÇ[{},{}]£¬Èç¹ûÖ»Òª´«µÝÒ»¸ö¶ÔÏó£¬Ôò{}µÄÐÎʽ¾Í¿ÉÒÔÁË¡£½ÓÏÂÀ´¾ÍÊǶÔÏóÊôÐԵıíÏÖ·½Ê½ÁË£¬ÊôÐÔ±ØÐëÔÚ
ÀïÃæ£¬ÊôÐÔÓëÖµÖ®¼äÓÃ:¸ô¿ª£¬ÊôÐÔÖ®¼äÓÃ,À´·Ö¸ô£¬Èç¹ûÊôÐÔµÄֵΪÊý×飬ÔòÓÃ[]°üÀ¨ÆðÀ´£¬ÕâÑùʵ¼Ê´«µÝµÄÊý¾Ý¸ñʽ¿ÉÄÜÓУº1¡¢{ÊôÐÔ1:Öµ1,ÊôÐÔ2:Öµ2}£¬Èç¹ûֵΪ×Ö·û´®£¬ÔòÒ²ÐèÒªÓÃÀ¨ÆðÀ´£¨ÏÂͬ£©¡£2¡¢{ÊôÐÔ1:Öµ1,ÊôÐÔ2:[Öµ1£¬Öµ2]}£¬ÆäÖÐÊôÐÔ2ÊÇÒ»¸öÊý×飬°üº¬
ÁËÖµ1ºÍÖµ2¡£3¡¢{ÊôÐÔ1:Öµ1,ÊôÐÔ2:{ÊôÐÔa:Öµa,ÊôÐÔb:[Öµb£¬Öµc]}}£¬Õâ¸ö±È½Ï¸´ÔÓÁË£¬ÊôÐÔ2ÊǸö¶ÔÏó£¬Õâ¸ö¶ÔÏóÓɰüº¬ÊôÐÔaºÍÊôÐÔb£¬ÊôÐÔbÓÖÊÇÒ»¸öÊý×é°üº¬ÖµbºÍÖµc¡£ÎÒÏëÕâЩӦ¸ÃÊÇ×î»ù±¾ÁË£¬ÆäÓàµÄ¾ÍÊÇÔÚ´Ë»ù´¡ÉϵÄÍØÕ¹¶øÒÑ¡£
ʵ¼ÊÖУ¬ÒªÐòÁл¯¶ÔÏó£¬ÔÚ.netÖÐÖ»Òªµ÷ÓÃnewtonsoft.json.javaconvert.serializeobject();º¯Êý¼´¿É
²Î¿¼£º
jquery ajax´«µÝ¶ÔÏó£¨Êý×飩µ½ºǫ́²¢½âÎöµÄʵÏÖ
3¡¢jsonÓÐÕâô¶àÒªÇ󣍯äʵ²»¶àÁË£©£¬ÎÒÃÇÔõôÅÐ¶ÏÆäÕýÈ·ÐÔ£¿
Óа취£¬¾ÍÊÇÄã´òÓ¡³öÀ´×Ö·û´®£¬×Ô¼ºµÄ°´ÕÕÉÏÃæµÄ½á¹¹¶ÔӦһϣ¬»òÕßÖ±½ÓʹÓÃÔÚÏß¼ìÑ鹤¾ß¼ìÑé¡£
²Î¿¼£º
¸ü¶àÍøÂç±à³ÌÐÅÏ¢Çë²é¿´£º ÍøÂç±à³Ì
¡¡