Get to know MDN better
此頁面由社群從英文翻譯而來。了解更多並加入 MDN Web Docs 社群。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
* Some parts of this feature may have varying levels of support.
JSON.parse() 方法把會把一個 JSON 字串轉換成 JavaScript 的數值或是物件。另外也可選擇使用 reviver 函數讓這些數值或是物件在被回傳之前做轉換。
要解析成 JSON 的字串。針對 JSON 語法的描述,請參見 JSON 物件。
reviver 選擇性為選擇性的參數,用來描述 JSON 字串中的值該如何被解析並回傳的函式(function)
從給定的 JSON text 回傳對應的 Object。
如果解析的字串不是合法的 JSON 格式會丟出一個 SyntaxError 例外
如果 reviver 函數有被指定,字串解析後產生出來的值會在函式回傳前經過轉換。 具體來講,解析後的值或是物件屬性會一個接一個地被這個 reviver 函數過濾(順序是由巢狀架構中最深的到最淺的),而當一個屬性即將被過濾時,該屬性的名稱(字串形態)以及值會被當作參數傳入 reviver 函數。如果 reviver 函數回傳了 undefined(或是沒有回傳值,例如:函式提早結束),則該屬性會從物件中被刪除;反之如果成功的話,該屬性的值就會被新的回傳值取代。
如果 reviver 只需轉換某些特定的值,請記得將其他不須特別轉換的值以原來的值回傳,否則這些值會從回傳的結果物件中刪除。
| ECMAScript® 2027 Language Specification # sec-json.parse |
Enable JavaScript to view this browser compatibility table.
從 Gecko 29 版本開始,錯誤格式的 JSON 字串會產生更詳細的錯誤訊息,包含造成解析錯誤的行數及列數。這在針對大量 JSON 資料進行除錯時會很有幫助。
This page was last modified on 2025年7月14日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.