<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>


    在新項目中,除了一些框架所依賴的配置文件使用XML外,基本沒有使用XML。JSON基本替代了原來XML在程序內的位置。在以前,我們不愿意使用一種私有的格式,于是選擇了XML。選擇XML的理由,可能是大家都用它,所以我們也用它。

    XML 是一種很好的技術,但是目前的情況來看,XML被濫用了,SOAP是XML被濫用的一種典型,程序內部的表示使用XML也是濫用的一種典型。看到的一種情況,一個對象toString使用XML格式輸出,導致日志文件十分羅嗦,調試時,在watch窗口中看到一大堆<tag>。

    在新項目中,認真考慮這種情況,找到了另外一種選擇,那就是JSON。選擇JSON的理由很充分:
    1、JSON的解釋性能要比XML要好,要簡潔緊湊。
    2、可讀性要比XML好。JSON本身就是JavaScript的語法,和程序員的思維,而非文檔編寫的思維。
    3、JavaScript原生支持,客戶端瀏覽器不需要為此使用額外的解釋器,在web環境中使用特別合適。

    在java中使用json,目前需要注意一些情況:
    1、目前開源的JSON-LIB代碼質量不好,最好是在此基礎之上修改一個版本,或者自己重新開發一個版本。
    2、使用new Date的方式替代JSON-LIB中的{year:2007, month:12, ....}之類的方式
    3、JSON-LIB中,object的propertyName在輸出的時候,都帶上"",例如{"name": "溫少"}, 其中name是的雙引號是不必要的,在輸出時應該判斷,不需要的就是就不加上"",減少網絡流量。
    4、JSON的解釋器中,應該支持簡單的表達式,例如new Date()、new Date(2939234723)之類的,這使得JSON的表達能力會更強一些。
    5、JSON應該分兩種,一種只支持簡單格式,類似開源的JSON-LIB,一種是通過JavaScript解釋器來實現的。后者在程序中傳輸數據時,能夠得到更強大的表達能力,但是也會導致安全問題,需要慎重使用。
    posted on 2008-03-08 14:24 溫少的日志 閱讀(3683) 評論(12)  編輯  收藏
    Comments
    • # re: 使用JSON替代XML
      cnodin
      Posted @ 2008-03-08 17:42
      json的確在某些方面比xml使用起來方便。但是對于xml,用xpath選擇層次比較深的節點,是不是比用json又更好呢?  回復  更多評論   
    • # re: 使用JSON替代XML
      HiMagic!
      Posted @ 2008-03-08 17:56
      json是不錯,不過我的建議是在server -> client單向使用,不用json lib,在輸出時寫個幾十行的程序就可以把Java object輸出成json string,畢竟jscript是json的舞臺。  回復  更多評論   
    • # re: 使用JSON替代XML
      交口稱贊
      Posted @ 2008-03-08 18:29
      現在也在用json
      和jquery完美搭檔  回復  更多評論   
    • # re: 使用JSON替代XML
      Strive
      Posted @ 2008-03-09 08:25
      我弄了一個 RpcSide 但是不知道如何控制權限, 可以前臺調后臺類,整合了Spring 按規范方式書寫方法就能調用, 不知道 ArrayList 這些是如何解析回來, 普通的 String Number Boolean Date都能解析,而且不慢, 請樓主能給一個好的解決方案來處理 js Array 到 Java ArrayList 互相轉換,傳輸,還有 AJAX安全處理的機制?>  回復  更多評論   
    • # re: 使用JSON替代XML
      久城
      Posted @ 2008-03-09 10:49
      請教一下,在server -> client時,大家用什么方法把Java Object輸出成json String?  回復  更多評論   
    • # re: 使用JSON替代XML
      溫少的日志
      Posted @ 2008-03-09 12:59
      @Strive
      既然你做的RPC,就應該使用方法的簽名自動轉換JSON數據到目標類型。[]格式的JSONArray轉到目標的ArrayList是很容易的事情啊  回復  更多評論   
    • # re: 使用JSON替代XML
      溫少的日志
      Posted @ 2008-03-09 13:00
      @久城
      如果你使用json-lib,可以讓對象實現JSONString接口,另外json-lib有一些配置參數,但是json-lib做的不好。  回復  更多評論   
    • # re: 使用JSON替代XML
      fkpwolf
      Posted @ 2008-03-09 21:28
      這也只是在javascript的前提下  回復  更多評論   
    • # re: 使用JSON替代XML
      Strive
      Posted @ 2008-03-10 08:03
      我就發現 像 Map 這些類型,實在是不好轉換, 如果你試用過 Dorado 它的處理方式也差不多, 只是按規定寫方法。 也不知它們的安全性如何保證的。  回復  更多評論   
    • # re: 使用JSON替代XML
      itVincent
      Posted @ 2008-03-10 09:39
      我也在用json-lib的時候,對date類型有些困惑  回復  更多評論   
    • # re: 使用JSON替代XML
      一農
      Posted @ 2008-03-11 23:07
      對于web-rpc我用的就是json-rpc(現在叫jabsorb),當然我們又做了修改,以便和spring結合,另外去掉了初始化的過程。
      DWR的協議,還有國內的一些哥們寫的RPC的協議不太喜歡,DWR的人說他們會支持多種協議,并且說他們的功能比json-rpc強,反正我們用不著。  回復  更多評論   
    • # re: 使用JSON替代XML
      長春日租房
      Posted @ 2011-11-15 13:35
      很好的方法啊,要記住  回復  更多評論   

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
     
    主站蜘蛛池模板: 久久亚洲精品无码av| 亚洲精华液一二三产区| 99久久精品毛片免费播放| 国产成人3p视频免费观看| 亚洲丁香婷婷综合久久| 国产精品视频免费一区二区三区| 免费一级国产生活片| 国产亚洲精品美女2020久久| 免费成人黄色大片| 另类图片亚洲校园小说区| 日韩亚洲国产综合久久久| eeuss免费天堂影院| 国产精品亚洲片在线观看不卡| 羞羞网站免费观看| 国产亚洲精aa成人网站| 99久久国产精品免费一区二区 | 国产精品1024永久免费视频| 亚洲精品第五页中文字幕| 91情侣在线精品国产免费| 亚洲欧洲国产综合AV无码久久| 国产香蕉九九久久精品免费| 国产成人人综合亚洲欧美丁香花| 久久国内免费视频| 在线观看国产一区亚洲bd| 国产成人亚洲精品91专区手机| 亚洲天堂免费在线视频| 亚洲成年人在线观看| 一本色道久久综合亚洲精品| 花蝴蝶免费视频在线观看高清版| 亚洲AV永久无码精品一百度影院 | 亚洲AⅤ视频一区二区三区| 国产精品免费看久久久香蕉| 亚洲黄色免费电影| 在线免费视频一区| a高清免费毛片久久| 亚洲精品欧洲精品| 免费v片视频在线观看视频| 人人揉揉香蕉大免费不卡| 亚洲成在人线aⅴ免费毛片| 亚洲人成亚洲人成在线观看| 在线视频免费观看高清|