解析,是指將符合 JSON 語法規則的字符串轉換成對象的過程。前端
不一樣的編程語言都提供瞭解析 JSON 字符串的方法,在這裏主要講解 JavaScript 中的解析方法。主要有三種:web
使用 eval()編程
使用 JSON.parse()瀏覽器
使用第三方庫,例如 JQuery 等微信
1. eval()編程語言
eval() 函數的參數是一個字符串,其做用是直接執行其中的 JavaScript 代碼。wordpress
eval() 可以解析 JSON 字符串。從這裏也能夠看得出,JSON 和 JavaScript 是高度嵌合的。函數
可是,如今已經不多直接使用 eval() 來解析了,若是您的瀏覽器版本真的是很舊,可能才須要這個方法。此外,eval() 是一個相對危險的函數,由於字符串中可能含有未知因素。在這裏,做爲學習,仍是要知道這也是一種方法。學習
JavaScript網站
請注意 eval() 的參數,在字符串兩旁加了括號,這是必須的,不然會報錯。
由於 JSON 字符串是被大括號(「{}」)包圍的,直接放到 eval() 會被當成語句塊來執行,所以要在兩旁加上括號,使其變成表達式。
JavaScript
2. JSON.parse()
如今絕大多數瀏覽器都以支持 JSON.parse(),是推薦使用的方式。
JavaScript
若是輸入了不符合規範的字符串,會報錯。
JavaScript
JSON.parse() 能夠有第二個參數,是一個函數。此函數有兩個參數:name 和 value,分別表明名稱和值。當傳入一個 JSON 字符串後,JSON 的每一組名稱/值對都要調用此函數。該函數有返回值,返回值將賦值給當前的名稱(name)。
JavaScript
第1、二行輸出分別是 str 的兩個名稱/值對。第三行輸出是 JSON 最外層的對象自己:沒有名稱,只有值,值是一個對象。
利用第二個參數,能夠在解析 JSON 字符串的同時對數據進行一些處理。
JavaScript
原文:http://www.ourd3js.com/wordpress/?p=1892
《前端觀察》專一於網站前端設計與前端開發、純粹的前端技術分享。更多前端文章請訂閱本頭條號,也能夠關注微信訂閱號qianduanguancha(長按可複製)