溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JSON的parse()方法介紹

發布時間:2020-08-21 05:08:57 來源:腳本之家 閱讀:210 作者:mumu1998 欄目:web開發

parse()方法的介紹:

在接收服務器數據時一般是字符串。

我們可以使用 JSON.parse() 方法將數據轉換為 JavaScript 對象。

語法

JSON.parse(text[, reviver])

參數說明:

  • text:必需, 一個有效的 JSON 字符串。
  • reviver: 可選,一個轉換結果的函數, 將為對象的每個成員調用此函數。

下面我們來看一個實例:

<p id="demo"></p>
<script>
var obj = JSON.parse('{ "name":jb51", "alexa":10000, "site":www.jb51.net }');
document.getElementById("demo").innerHTML = obj.name + ":" + obj.site;
</script>

首先通過parse()方法將JSON數據轉換為JavaScript對象,

解析完成后,我們就可以在網頁上使用JSON數據了

從服務端接收 JSON 數據(數組JSON數據)

我們可以使用 AJAX 從服務器請求 JSON 數據,并解析為 JavaScript 對象。

eg:
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myObj = JSON.parse(this.responseText);
document.getElementById("demo").innerHTML = myObj.name;
} };
xmlhttp.open("GET", "/try/ajax/json_demo.txt", true); xmlhttp.send();

json_demo.txt服務端數據需要自個編寫。

JSON中有個異常解析數據

JSON 不能存儲 Date 對象。如果你需要存儲 Date 對象,需要將其轉換為字符串。之后再將字符串轉換為 Date 對象。

<p id="demo"></p>
<script>      //將字符串轉換為data對象
var text = '{ "name":"csdn", "initDate":"2018-12-14", "site":www.jb51.net}';
var obj = JSON.parse(text);
obj.initDate = new Date(obj.initDate);
document.getElementById("demo").innerHTML = obj.name + "創建日期: " + obj.initDate;
</script>

這時我們可以啟用JSON的第二個參數:

<p id="demo"></p>
<script>
var text = '{ "name":"csdn", "initDate":"2018-12-14", "site":"www.jb51.net"}';
var obj = JSON.parse(text, function (key, value) {
  if (key == "initDate") {
    return new Date(value);
  } else {
    return value;
}});
document.getElementById("demo").innerHTML = obj.name + "創建日期:" + obj.initDate;

解析函數:

JSON 不允許包含函數,但你可以將函數作為字符串存儲,之后再將字符串轉換為函數。

var text = '{ "name":"jb51", "alexa":"function () {
return 10000;}",
"site":"www.jb51.net"}';
var obj = JSON.parse(text);
obj.alexa = eval("(" + obj.alexa + ")");      注意:最好不要在json中使用函數
document.getElementById("demo").innerHTML = obj.name + " Alexa 排名:" + obj.alexa();

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女