js中 json 和 對象的區別


什么是json ? json怎么用的(怎么定義)?

JSON是js的一種數據格式而已;定義:{"鍵名1":"值1""鍵名2":"值2"};文字描述就是: 以“{”開始 ,以“}”結束 ,鍵值對 鍵名用雙引引起來,鍵值 如果是string類型,那么用雙引引起來,其他則不用雙引引起來;

看以下例子就可以知道JSON的定義了;使用方式同對象;

 1 <script>
 2 var obj2={};//這只是JS對象
 3 var obj3={width:100,height:200};/*這跟JSON就更不沾邊了,只是JS的 對象 */
 4 var obj4={'width':100,'height':200};/*這跟JSON就更不沾邊了,只是JS的對象 */
 5 var obj5={"width":100,"height":200,"name":"rose"}; /*我們可以把這個稱做:JSON格式的JavaScript對象 */
 6 var str1='{"width":100,"height":200,"name":"rose"}';/*我們可以把這個稱做:JSON格式的字符串 */
 7 var a=[
 8  {"width":100,"height":200,"name":"rose"},
 9  {"width":100,"height":200,"name":"rose"},
10  {"width":100,"height":200,"name":"rose"},
11  ];
12  /*這個叫JSON格式的數組,是JSON的稍復雜一點的形式 */
13 var str2='['+
14  '{"width":100,"height":200,"name":"rose"},'+
15  '{"width":100,"height":200,"name":"rose"},'+
16  '{"width":100,"height":200,"name":"rose"},'+
17  ']' ;
18  /* 這個叫稍復雜一點的JSON格式的字符串 */
19 </script>

那么什么是對象呢?

簡單來說,js對象就是 一種變量;一種引用類型變量object;他的定義方式有三種;具體可以查看https://www.cnblogs.com/lixiuming521125/p/10950695.html;其中一種定義方式是字面量定義;就是var obj3={width:100,height:200};這里的obj3和obj5差不多;

JSON和JS對象區別對比表

區別

Json

Javascript對象

含義

僅僅是一種數據格式

表示類的實例

傳輸

可以跨平台數據傳輸,速度快

不能傳輸

表現

1,鍵值對方式,鍵必須加引號

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

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

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

相互轉換

Json字符串轉化為json格式的對象:

1,JSON.parse(jsonstring);
(不兼容ie7)

2,Jsobj=eval("("+jsonstring+")");

(兼容所有瀏覽器,但不安全,會執行json里面的表達式?)

Js對象轉換為Json字符串

JSON.stringify(jsobj);(不兼容ie7)

 

其他

調用json官網的js,實現parse 和 stringify 在各個瀏覽器的兼容:

https://github.com/douglascrockford/JSON-js/blob/master/json2.js

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

參考地址:https://www.jb51.net/article/107041.htm

 
 

 


免責聲明!

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



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