JSON.parse()
JSON 通常用於與服務端交換數據。
在接收服務器數據時一般是字符串。
我們可以使用 JSON.parse() 方法將數據轉換為 JavaScript 對象。
語法
JSON.parse(text[, reviver])
參數說明:
text:必需, 一個有效的 JSON 字符串。
reviver: 可選,一個轉換結果的函數, 將為對象的每個成員調用此函數。
JSON 解析實例
例如我們從服務器接收了以下數據:
{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }
我們使用 JSON.parse() 方法處理以上數據,將其轉換為 JavaScript 對象:
var obj = JSON.parse('{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }');
JSON.parse()
JSON 通常用於與服務端交換數據。
在接收服務器數據時一般是字符串。
我們可以使用 JSON.parse() 方法將數據轉換為 JavaScript 對象。
語法
JSON.parse(text[, reviver])
參數說明:
text:必需, 一個有效的 JSON 字符串。
reviver: 可選,一個轉換結果的函數, 將為對象的每個成員調用此函數。
JSON 解析實例
例如我們從服務器接收了以下數據:
{ "name":"runoob", "alexa":10000, "site":"www.dc3688.com" }
我們使用 JSON.parse() 方法處理以上數據,將其轉換為 JavaScript 對象:
var obj = JSON.parse('{ "name":"runoob", "alexa":10000, "site":"www.dc3688.com" }');
從服務端接收 JSON 數據
我們可以使用 AJAX 從服務器請求 JSON 數據,並解析為 JavaScript 對象。
實例
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 數據
如果從服務端接收的是數組的 JSON 數據,則 JSON.parse 會將其轉換為 JavaScript 數組:
實例
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myArr = JSON.parse(this.responseText);
document.getElementById("demo").innerHTML = myArr[1];
}
};
xmlhttp.open("GET", "/try/ajax/json_demo_array.txt", true);
xmlhttp.send();