1.JSON.parse()php
JSON.parse()
JSON 一般用於與服務端交換數據。json
在接收服務器數據時通常是字符串。數組
咱們能夠使用 JSON.parse() 方法將數據轉換爲 JavaScript 對象。服務器
JSON.parse(text[, reviver])
參數說明:ide
- text:必需, 一個有效的 JSON 字符串。
- reviver: 可選,一個轉換結果的函數, 將爲對象的每一個成員調用此函數.
JSON 解析實例
例如咱們從服務器接收了如下數據:函數
{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }
咱們使用 JSON.parse() 方法處理以上數據,將其轉換爲 JavaScript 對象:ui
var obj = JSON.parse('{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }');
從服務端接收數組的 JSON 數據
若是從服務端接收的是數組的 JSON 數據,則 JSON.parse 會將其轉換爲 JavaScript 數組:spa
異常
解析數據
JSON 不能存儲 Date 對象。code
若是你須要存儲 Date 對象,須要將其轉換爲字符串。對象
以後再將字符串轉換爲 Date 對象。
實例
var text = '{ "name":"Runoob", "initDate":"2013-12-14", "site":"www.runoob.com"}'; var obj = JSON.parse(text); obj.initDate = new Date(obj.initDate); document.getElementById("demo").innerHTML = obj.name + "建立日期: " + obj.initDate;
咱們能夠啓用 JSON.parse 的第二個參數 reviver,一個轉換結果的函數,對象的每一個成員調用此函數。
實例
var text = '{ "name":"Runoob", "initDate":"2013-12-14", "site":"www.runoob.com"}'; 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":"Runoob", "alexa":"function () {return 10000;}", "site":"www.runoob.com"}'; var obj = JSON.parse(text); obj.alexa = eval("(" + obj.alexa + ")"); document.getElementById("demo").innerHTML = obj.name + " Alexa 排名:" + obj.alexa();