JSON 淺談 — 3.0 解析

解析,是指將符合 JSON 語法規則的字符串轉換成對象的過程。前端

JSON 淺談 — 3.0  解析

不一樣的編程語言都提供瞭解析 JSON 字符串的方法,在這裏主要講解 JavaScript 中的解析方法。主要有三種:web

  • 使用 eval()編程

  • 使用 JSON.parse()瀏覽器

  • 使用第三方庫,例如 JQuery 等微信

1. eval()編程語言

eval() 函數的參數是一個字符串,其做用是直接執行其中的 JavaScript 代碼。wordpress

JSON 淺談 — 3.0  解析

eval() 可以解析 JSON 字符串。從這裏也能夠看得出,JSON 和 JavaScript 是高度嵌合的。函數

可是,如今已經不多直接使用 eval() 來解析了,若是您的瀏覽器版本真的是很舊,可能才須要這個方法。此外,eval() 是一個相對危險的函數,由於字符串中可能含有未知因素。在這裏,做爲學習,仍是要知道這也是一種方法。學習

JavaScript網站

JSON 淺談 — 3.0  解析

請注意 eval() 的參數,在字符串兩旁加了括號,這是必須的,不然會報錯。

由於 JSON 字符串是被大括號(「{}」)包圍的,直接放到 eval() 會被當成語句塊來執行,所以要在兩旁加上括號,使其變成表達式。

JavaScript

JSON 淺談 — 3.0  解析

2. JSON.parse()

如今絕大多數瀏覽器都以支持 JSON.parse(),是推薦使用的方式。

JavaScript

JSON 淺談 — 3.0  解析

若是輸入了不符合規範的字符串,會報錯。

JavaScript

JSON 淺談 — 3.0  解析

JSON.parse() 能夠有第二個參數,是一個函數。此函數有兩個參數:name 和 value,分別表明名稱和值。當傳入一個 JSON 字符串後,JSON 的每一組名稱/值對都要調用此函數。該函數有返回值,返回值將賦值給當前的名稱(name)。

JavaScript

JSON 淺談 — 3.0  解析

第1、二行輸出分別是 str 的兩個名稱/值對。第三行輸出是 JSON 最外層的對象自己:沒有名稱,只有值,值是一個對象。

利用第二個參數,能夠在解析 JSON 字符串的同時對數據進行一些處理。

JavaScript

JSON 淺談 — 3.0  解析

原文:http://www.ourd3js.com/wordpress/?p=1892

《前端觀察》專一於網站前端設計與前端開發、純粹的前端技術分享。更多前端文章請訂閱本頭條號,也能夠關注微信訂閱號qianduanguancha(長按可複製)

相關文章
相關標籤/搜索