JavaScript學習之JSON
阿新 • • 發佈:2020-12-21
技術標籤:前端學習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程式碼,當時在開發中儘量不使用,因為其的執行效能較差,而且因為它能執行字串中程式碼的能力也就具有了安全隱患。