JSON的parse()方法介紹
parse()方法的介紹:
在接收服務器數(shù)據(jù)時一般是字符串。
我們可以使用 JSON.parse() 方法將數(shù)據(jù)轉換為 JavaScript 對象。
語法
JSON.parse(text[, reviver])
參數(shù)說明:
- text:必需, 一個有效的 JSON 字符串。
- reviver: 可選,一個轉換結果的函數(shù), 將為對象的每個成員調用此函數(shù)。
下面我們來看一個實例:
<p id="demo"></p>
<script>
var obj = JSON.parse('{ "name":jb51", "alexa":10000, "site":www.dhdzp.com }');
document.getElementById("demo").innerHTML = obj.name + ":" + obj.site;
</script>
首先通過parse()方法將JSON數(shù)據(jù)轉換為JavaScript對象,
解析完成后,我們就可以在網(wǎng)頁上使用JSON數(shù)據(jù)了
從服務端接收 JSON 數(shù)據(jù)(數(shù)組JSON數(shù)據(jù))
我們可以使用 AJAX 從服務器請求 JSON 數(shù)據(jù),并解析為 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服務端數(shù)據(jù)需要自個編寫。
JSON中有個異常解析數(shù)據(jù)
JSON 不能存儲 Date 對象。如果你需要存儲 Date 對象,需要將其轉換為字符串。之后再將字符串轉換為 Date 對象。
<p id="demo"></p>
<script> //將字符串轉換為data對象
var text = '{ "name":"csdn", "initDate":"2018-12-14", "site":www.dhdzp.com}';
var obj = JSON.parse(text);
obj.initDate = new Date(obj.initDate);
document.getElementById("demo").innerHTML = obj.name + "創(chuàng)建日期: " + obj.initDate;
</script>
這時我們可以啟用JSON的第二個參數(shù):
<p id="demo"></p>
<script>
var text = '{ "name":"csdn", "initDate":"2018-12-14", "site":"www.dhdzp.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 + "創(chuàng)建日期:" + obj.initDate;
解析函數(shù):
JSON 不允許包含函數(shù),但你可以將函數(shù)作為字符串存儲,之后再將字符串轉換為函數(shù)。
var text = '{ "name":"jb51", "alexa":"function () {
return 10000;}",
"site":"www.dhdzp.com"}';
var obj = JSON.parse(text);
obj.alexa = eval("(" + obj.alexa + ")"); 注意:最好不要在json中使用函數(shù)
document.getElementById("demo").innerHTML = obj.name + " Alexa 排名:" + obj.alexa();
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
相關文章
如何用JS判斷數(shù)組中是否存在某個值或者某個對象的值
數(shù)組是我們編程中經常使用的的數(shù)據(jù)結構之一,在處理數(shù)組時,我們經常需要在數(shù)組中查找特定的值,下面這篇文章主要給大家介紹了關于如何用JS判斷數(shù)組中是否存在某個值或者某個對象的值的相關資料,需要的朋友可以參考下2023-01-01

