Markdown

[javascript] JSON.parse 函式

https://msdn.microsoft.com/zh-tw/library/cc836466(v=vs.94).aspx

將以 JavaScript 物件標記法 (JavaScript Object Notation,JSON) 表示的字串轉換成物件。

JSON.parse(text [, reviver])

text
必要項。 有效的 JSON 字串。
reviver
選擇項。 用來轉換結果的函式。 呼叫這個函式時,會針對這個物件的每個成員進行呼叫。 如果成員包含巢狀物件,則會先轉換巢狀物件,然後再轉換父物件。 就個別成員而言,發生的情況如下:
  • 如果 reviver 傳回有效值,轉換後的值會取代成員值。
  • 如果 reviver 的傳回值與它接收的值相同,則不會修改成員值。
  • 如果 reviver 傳回 null 或 undefined,表示成員已刪除。

物件或陣列。

範例

下面範例會使用 JSON.parse 將 JSON 字串轉換為物件。
var jsontext = '{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}';
var contact = JSON.parse(jsontext);
document.write(contact.surname + ", " + contact.firstname);
document.write(contact.phone[1]);
// Output:
// Aaberg, Jesper
// 555-0100

範例

下面範例會使用 JSON.stringify 將陣列轉換為 JSON 字串,然後使用 JSON.parse 將字串轉換回陣列。
var arr = ["a", "b", "c"];
var str = JSON.stringify(arr);
document.write(str);
document.write ("<br/>");

var newArr = JSON.parse(str);

while (newArr.length > 0) {
    document.write(newArr.pop() + "<br/>");
}


// Output:
// ["a","b","c"]
// c
// b
// a

留言