如何更好的易于機器解析和生成JSON輕量級
JSON輕量級提供輕量的小文檔,并且JSON在JavaScript更容易使用。我希望你能體會到在buzzword- compliant, Web-2.0-based, AJAX-enabled, 敏捷開發(fā)中應(yīng)用到JSON的樂趣,JSON提供輕量的小文檔。
如果是解析 JSON比XML要快10倍!當(dāng)把AJAX當(dāng)作桌面應(yīng)用看待時,速度是最重要的因素,很明顯,JSON更優(yōu)秀。當(dāng)然,你不能總是控制服務(wù)器端來為AJAX程序產(chǎn)生數(shù)據(jù)。你還可以使用第三方服務(wù)器代替服務(wù)器提供XML格式的輸出。并且,如果服務(wù)器恰好提供JSON,你可以確定你真的想使用它嗎?
代碼中值得注意的是,你將響應(yīng)文本直接傳入到eval中。如果你控制著服務(wù)器,就可以這么做。如果不是,一個惡意服務(wù)器可以使你的瀏覽器執(zhí)行危險操作。在這樣的情況下,你***使用寫在JavaScript中的代碼來解析JSON。幸運地,這已經(jīng)有了。#t#
說到解析,Python愛好者可能注意到JSON不只是JavaScript的子集,它還是Python的一個子集。你可以在Python中直接執(zhí)行JSON,或者使用安全JSON解析代替。JSON.org網(wǎng)站列舉了許多常用JSON解析器。
服務(wù)器端的JSON輕量級
到現(xiàn)在為止,你或許將焦點注意在運行在客戶瀏覽器中的基于AJAX的web應(yīng)用程序使用JSON。自然地,首先,JSON格式的數(shù)據(jù)必須在服務(wù)器端產(chǎn)生。幸運地是,創(chuàng)建JSON或?qū)⑵渌嬖诘臄?shù)據(jù)轉(zhuǎn)換成JSON是相當(dāng)簡單的。一些WEB應(yīng)用程序框架,例如TurboGears,自動包括對JSON輸出的支持。
此外商業(yè)WEB服務(wù)提供商也注意到了JSON。Yahoo最近創(chuàng)建了許多基于JSON的web服務(wù)。Yahoo的多種搜索服務(wù),履行計劃,del.icio.us,還有高速公路交通服務(wù)也都支持JSON輸出。毫無疑問,其他主要WEB服務(wù)提供商也將加入到對JSON的支持中。
總結(jié)
JSON輕量級的聰明在于它是JavaScript和Python的子集,使得它更易用,為AJAX提供高效的數(shù)據(jù)交互。它解析更快,比 XML更易使用。JSON正成為現(xiàn)在“Web 2.0”的***音。每個開發(fā)者,無論是標(biāo)準(zhǔn)桌面應(yīng)用程序或Web應(yīng)用程序,越來越注意到了它的簡單和便捷。我希望你能體會到在buzzword- compliant, Web-2.0-based, AJAX-enabled, 敏捷開發(fā)中應(yīng)用到JSON的樂趣。