1. 程式人生 > 其它 >JavaScript學習之JSON

JavaScript學習之JSON

技術標籤:前端學習javascript

JSON

1.JSON簡介

JSON(JavaScript Object Notation):js物件表示法。
JSON是一個特殊格式的字串,這個字串可以被任意語言所識別。並且轉化為任意語言中的物件。JSON在開發中主要用於做資料的互動。
JSON和JS物件的格式一樣,但是在JSON中屬性名必須要加雙引號,JS的是可有可無,其他語法一樣。

2.JSON語法

JSON的分類,有兩類:

  • 物件:{} {"name":"jack","age":18}
  • 陣列:[] [1,2,3,"hello",true]
    JSON中允許的值:
    1.字串;
    2.數值,
    3.布林值
    4.NULL
    5.物件(普通物件,就普通儲存資訊的)
    6.陣列
    [{"name":"jack","age":18},{"name":"mack","age":18},{"name":"sack","age":18}]

將JSON字串轉化為JS中的物件:
在JS中有一個工具類,就叫JSON,這個物件就可以幫助我們把JSON轉換為JS物件,也可以將一個JS物件轉化為一個JSON。

JSON轉換為JS物件:使用JSON.parse();

  • 該方法可以將JSON字串轉換為JS物件
  • 該方法需要一個JSON字串作為引數,然後該方法會將JSON字串轉換為JS物件並返回。
var json='{"name":"jack","age":18}';//該字串就是JSON
console.log(typeof json);
console.log(json);

json=JSON.parse(json);//轉化
console.log(typeof json);
console.log(json);

在這裡插入圖片描述

JS物件轉化為物件:
使用JSON.stringify()

方法

  • 該方法可以將一個js物件轉化為JSON字串。
  • 其需要一個JS物件作為引數傳遞,然後就會將該JS物件轉化為JSON字串並返回。
var json={"name":"jack","age":18};
json=JSON.stringify(json);
console.log((typeof json)+"     "+json);

在這裡插入圖片描述

3.eval()

  • 這個函式可以用來執行一段字串形式的JS程式碼。並將結果返回。
  • 如果eval()函式執行的字串中含有{}比如物件"{"name":"jack","age":18}",它會將其當成是程式碼塊,如果要正常執行的話就要在字串上加上括號()。
var str='{"name":"jack","age":18}';
var obj=eval("("+str+")");
console.log(obj);

在這裡插入圖片描述
eval()函式可以直接執行一個字串中的js程式碼,當時在開發中儘量不使用,因為其的執行效能較差,而且因為它能執行字串中程式碼的能力也就具有了安全隱患。

也可看具體文件