日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Json的优缺点

發布時間:2023/12/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Json的优缺点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JSON的定義
? ? 一種輕量級的數據交換格式,具有良好的可讀和便于快速編寫的特性。業內主流技術為其提供了完整的解決方案(有點類似于正則表達式 ,獲得了當今大部分語言的支持),從而可以在不同平臺間進行數據交換。JSON采用兼容性很高的文本格式,同時也具備類似于C語言體系的行為。
?
XML的定義
? ? 擴展標記語言 (Extensible Markup Language, XML) ,用于標記電子文件使其具有結構性的標記語言,可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。 XML是標準通用標記語言 (SGML) 的子集,非常適合 Web 傳輸。XML 提供統一的方法來描述和交換獨立于應用程序或供應商的結構化數據。
[ ?XML ]
使 用XML作為傳輸格式的優勢:
1. 格式統一, 符合標準
2. 容易與其他系統進行遠程交互, 數據共享比較方便


XML的十字路口: 瀏覽器和 Ajax?
  XML設計原理已經發布了將近十年。時至今日,這種標記語言已經在廣闊的軟件應用領域中占據了主導地位。從Java、.NET等主流平臺中的配置和部署描述符到應用集成場景中更復雜的應用,XML與生俱來的語言無關性使之在軟件架構師心目中占據著獨特的地位。但即便最著名的XML權威也不得不承認:在某些環境中,XML的使用已經超出了它自身能力的極限。?

  圍繞Ajax原理構建的那些Web應用程序最能說明XML的生存能力,從這一點來看,一種新的有效負載格式的發展壯大也得益于XML。這種新的有效負載格式就是JavaScript Object Notation (JSON)。在探索這種新的標記語言的復雜性之前,首先來分析一下在這種獨特的設計形式中,XML具有哪些局限性。?

  Ajax建立了一個用于從遠程Web services發送和接收數據的獨立信道,從而允許Web程序執行信道外(out-of-band)客戶端/服務器調用。通俗地說,Ajax程序中的更新和導航序列在典型的客戶端/服務器環境之外完成,在后臺(即信道外)接受到信息后,必須進行一次完整的屏幕刷新。更多背景信息,請參閱David Teare的 Ajax簡介(Dev2Dev)。?

  這些應用程序更新通常是通過REST風格(RESTful)Web services獲得的,一旦被用戶的瀏覽器接收到,就需要整合到HTML頁面的總體布局之中,這正是XML發揮強大力量的場合。盡管近年來,腳本語言支持和插件支持已使大多數主流瀏覽器的功能得到了強化,但許多編程任務依然難于開展,其中之一就是操縱或處理文本,這通常是使用DOM實現的。?

  采用DOM的復雜性源于其基于函數的根,這使得對數據樹的簡單修改或訪問都需要進行無數次方法調用。此外,眾所周知,DOM在各種瀏覽器中的實現細節不盡相同,這一過程將帶來極為復雜的編程模式,其跨瀏覽器兼容性出現問題的可能性極大。接下來的問題顯而易見,那就是:如何使一種標記語言輕松集成到HTML頁面中以滿足Ajax的要求??

  問題的答案就是:利用所有主流瀏覽器中的一種通用組件——JavaScript引擎。XML需要使用DOM之類的機制來訪問數據并將數據整合到布局之中,采用這種方法,我們不再使用像XML這樣的格式來交付Ajax更新,而是采用一種更為簡單直觀的方式,采用JavaScript引擎自然匹配的格式——也就是JSON。?

  既然已經明確了JSON與XML和Ajax之間的關系,下面將進一步探討JSON背后的技術細節。?

JSON剖析:優點和不足?
  對于JSON,首先要明白JSON和XML一樣也是一種簡單文本格式。相對于XML,它更加易讀、更便于肉眼檢查。在語法的層面上,JSON與其他格式的區別是在于分隔數據的字符,JSON中的分隔符限于單引號、小括號、中括號、大括號、冒號和逗號。下圖是一個JSON有效負載:

Java代碼?
  • {"addressbook":?{"name":?"Mary?Lebow", ??
  • ????"address":?{ ??
  • ????????"street":?"5?Main?Street"??
  • ????????"city":?"San?Diego,?CA", ??
  • ????????"zip":?91912, ??
  • ????}, ??
  • ????"phoneNumbers":?[ ??
  • ????????"619?332-3452", ??
  • ????????"664?223-4667"??
  • ????] ??
  • ?} ??
  • }??
  • [java]?view plaincopy
  • {"addressbook":?{"name":?"Mary?Lebow",??
  • ????"address":?{??
  • ????????"street":?"5?Main?Street"??
  • ????????"city":?"San?Diego,?CA",??
  • ????????"zip":?91912,??
  • ????},??
  • ????"phoneNumbers":?[??
  • ????????"619?332-3452",??
  • ????????"664?223-4667"??
  • ????]??
  • ?}??
  • }??
  •   將上面的JSON有效負載用XML改寫,如下:?

    Xml代碼?
  • <addressbook>??
  • ?<name>Mary?Lebow</name>??
  • ?<address>? ??
  • ????<street>5?Main?Street</street>??
  • ????<city?zip="91912">?San?Diego,?CA?</city>??
  • ????<phoneNumbers>??
  • ??????<phone>619?332-3452</phone>??
  • ??????<phone>664?223-4667</phone>??
  • ????</phoneNumbers>??
  • ?</address>??
  • </addressbook>??
  • [xml]?view plaincopy
  • <addressbook>??
  • ?<name>Mary?Lebow</name>??
  • ?<address>???
  • ????<street>5?Main?Street</street>??
  • ????<city?zip="91912">?San?Diego,?CA?</city>??
  • ????<phoneNumbers>??
  • ??????<phone>619?332-3452</phone>??
  • ??????<phone>664?223-4667</phone>??
  • ????</phoneNumbers>??
  • ?</address>??
  • </addressbook>??
  •   是不是很相似?但它們并不相同。下面將詳細闡述采用JSON句法的優點和不足。?

    優點:
    1. 數據格式比較簡單, 易于讀寫, 格式都是壓縮的, 占用帶寬小
    2. 易于解析這種語言, 客戶端JavaScript可以簡單的通過eval_r()進行JSON數據的讀取
    3. 支持多種語言, 包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等語言服務器端語言, 便于服務器端的解析
    4. 在PHP世界, 已經有PHP-JSON和JSON-PHP出現了, 便于PHP序列化后的程序直接調用. PHP服務器端的對象、數組等能夠直接生JSON格式, 便于客戶端的訪問提取.
    5. 因為JSON格式能夠直接為服務器端代碼使用, 大大簡化了服務器端和客戶端的代碼開發量, 但是完成的任務不變, 且易于維護

    缺點:
    1. 沒有XML格式這么推廣的深入人心和使用廣泛, 沒有XML那么通用性
    2. JSON格式目前在Web Service中推廣還屬于初級階段
    JSON 和 XML 優缺點的比較
    1. ? ? ? 在可讀性方面,JSON和XML的數據可讀性基本相同。JSON和XML的可讀性可謂不相上下,一邊是建議的語法,一邊是規范的標簽形式,很難分出勝負。
    2. ? ? ? 在可擴展性方面,XML天生有很好的擴展性,JSON當然也有,沒有什么是XML能擴展,JSON不能的。
    3. ? ? ? 在編碼難度方面,XML有豐富的編碼工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的編碼明顯比XML容易許多,即使不借助工具也能寫出JSON的代碼,可是要寫好XML就不太容易了。
    4. ? ? ? 在解碼難度方面,XML的解析得考慮子節點父節點,讓人頭昏眼花,而JSON的解析難度幾乎為0。這一點XML輸的真是沒話說。
    5. ? ? ? 在流行度方面,XML已經被業界廣泛的使用,而JSON才剛剛開始,但是在Ajax這個特定的領域,未來的發展一定是XML讓位于JSON。到時Ajax應該變成Ajaj(Asynchronous Javascript and JSON)了。
    6. ? ? ? JSON和XML同樣擁有豐富的解析手段。
    7. ? ? ? JSON相對于XML來講,數據的體積小。
    8. ? ? ? JSON與JavaScript的交互更加方便。
    9. ? ? ? JSON對數據的描述性比XML較差。
    10. ? JSON的速度要遠遠快于XML。

    總結

    以上是生活随笔為你收集整理的Json的优缺点的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 大桥未久中文字幕 | 国产1区2区3区 | 丁香啪啪综合成人亚洲 | 99精品视频免费版的特色功能 | 国产女人和拘做受视频免费 | 日韩精品在线观看一区 | 在线不卡视频 | 国产精品观看 | 好吊色视频在线观看 | 国产精品外围 | 在线视频中文字幕 | 97一级片 | 亚洲精品中文字幕在线 | 天天色综合天天 | 四虎毛片 | 婷婷综合在线视频 | 一级视频黄色 | 免费福利av | 91视频黄| 成熟丰满熟妇高潮xxxxx视频 | 婷婷色激情 | 日本一本二本三区免费 | 玖玖在线 | 四虎啪啪 | 中文字幕第31页 | 大香依人 | 一呦二呦三呦精品网站 | 91在线精品秘密一区二区 | 黄色免费大片 | 亚洲成人精品一区二区三区 | 日韩av高清在线播放 | 亚洲成人精品网 | 亚洲孕交 | 熟女视频一区二区三区 | 国产精品免费视频一区二区 | 亚洲精品乱码久久久久久黑人 | 999热 | 天天干干干干干 | 男男做的视频 | 一区二区三区视频在线观看免费 | 中文字幕av资源 | 欧美一级片网址 | 欧美做受xxxxxⅹ性视频 | 在线观看日批视频 | 国产91视频在线观看 | 性无码专区无码 | 亚洲av综合av一区二区三区 | 色噜噜狠狠一区二区三区牛牛影视 | 欧美图片第一页 | 综合激情在线 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 动漫美女隐私无遮挡 | 伊人网亚洲 | 欧美成人乱码一二三四区免费 | 91禁蘑菇在线看 | 日韩无套无码精品 | 95在线视频 | 精品国产aⅴ一区二区三区四川人 | 东方av在线免费观看 | 在线观看亚洲视频 | 一区二区美女 | 亚洲视频免费在线播放 | 天天操天天做 | 亚州视频在线 | 女女调教被c哭捆绑喷水百合 | 91精品视频国产 | 国产又粗又黄 | 亚洲爽爆av | 欧美亚洲综合久久 | 免费三片在线视频 | 午夜一级片 | 欧美黄色小说视频 | 成人一级黄色片 | 国产免费一区二区三区在线播放 | www.xxx在线观看| 欧美午夜激情影院 | 久久久久久久91 | 日韩av免费在线观看 | 日本欧美不卡 | 成人精品视频一区 | 毛片在线免费观看网站 | 69**夜色精品国产69乱 | 久久久久亚洲精品中文字幕 | 日本国产一区二区三区 | 久久av一区二区三区漫画 | 中文字幕一区二区久久人妻网站 | 国产福利一区在线 | 91网在线 | 日本大片黄 | 欧美69式性猛交 | 人妻激情偷乱频一区二区三区 | 伊朗做爰xxxⅹ性视频 | 成人免费毛片东京热 | 舐丝袜脚视频丨vk | 国产视频1| av网站在线免费 | 日韩亚州 | 亚洲啊v在线 | 国产一区二区三区播放 |