json和js的區別


定義:

  JSON是什么?JSON是JS的一種簡單數據格式,JSON是JavaScript原生格式,它是一種嚴格的js對象的格式,JSON的屬性名必須有雙引號,如果值是字符串,也必須是雙引號。

問題:

  JSON是什么?(JSON和JavaScrip對象有什么區別?)如何把JS對象轉換位JSON字符串又如何把JSON字符串轉換成JavaScript對象?

  答:JSON (JavaScript Object Notation) 一種簡單的數據格式,比Xml更輕巧。JSON 是JavaScript原生格式,這意味着在JavaScript中處理JSON數據不需要任何特殊的API 或者工具包。JSON的規則很簡單:對象是一個無序的“名稱/值”對集合。一個對象以"{"(左括號)開始,“}”(右括號)結束。每個"名稱"后跟一個":"(冒號);“名稱/值”對之間使用","(逗號)分隔。

它是一種嚴格的JS對象的格式,JSON屬性名稱必須有雙引號,如果值是字符串,也必須是雙引號;

JSON只是一種數據格式;

  <script>

    var obj ={};//這只是JS對象

    var obj1={width:100,height:200}//JS對象

    var obj2={'width':100,'height':100}//JS對象

    var obj3={"width":100,"height":100,"name":"rose"}//JSON格式的JS對象

    var obj4='{"width":100,"height":200,"name":"rose"}';/*我們可以把這個稱做:JSON格式的字符串 */

    var array=[

    { "width" :100, "height" :200, "name" : "rose" },
     { "width" :100, "height" :200, "name" : "rose" },
      { "width" :100, "height" :200, "name" : "rose" },

    ] /*這個叫JSON格式的數組,是JSON的稍復雜一點的形式 */

    var  arrayStr= '[' +
      '{"width":100,"height":200,"name":"rose"},' +
      '{"width":100,"height":200,"name":"rose"},' +
      '{"width":100,"height":200,"name":"rose"},' +
      ']'  ;/* 這個叫稍復雜一點的JSON格式的字符串 */ 
  </script>
 
區別 JSON Javascript
含義 僅僅是一種數據格式 表示類的實例
傳輸 可以跨平台數據傳輸,速度快 不能傳輸
表現

1.簡直對方式,鍵必須加雙引號

2.值不能是方法函數,不能是undefined/NaN

1.鍵值對方式,鍵不加引號

2.值可以是函數、對象、字符串、數字、boolean 等

相互轉換

Json轉換Js對象

1.JSON.parse(JsonStr);(不兼容IE7)

2.eval("("+jsonStr+")");(兼容所有瀏覽器,但不安全,會執行json里面的表達式?)

js對象轉換Json

JSON.stringify(jsObj);

其他 調用JSON官網的JS,實現parse和stringify在哥哥瀏覽器的兼容:

 

 
分類:  javascrip


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM