JSON 語法規則
在JSON 介紹一章節對JSON在總體上進行了簡單的介紹。
JSON是一種資料傳輸格式,也就是對字串在語法上的約定。
它是JavaScript的子集,所以任何JSON格式資料都是合法的JavaScript表示式。
上面關於子集的表述在之前並不完全正確,有些許個例,但是此問題當前已經被修復。
一.準備工作:
JavaScript中,一切皆為物件(可能不是太精確,但是大致可以如此認為)。
支援的型別都可以用JSON表示,比如字串、數值、null、物件和陣列。
但是也有不支援的型別,比如undefined、function函式和Symbol,具體參閱JSON.stringify()一章節。
二.JSON語法:
應用中,最為常見的JSON是物件與陣列或者它們之間的巢狀格式的。
1.鍵值對結構:
書寫規則如下:
(1).每組資料是由鍵值對構成。
(2).鍵必須用雙引號包裹。
(3).鍵與值之間用冒號分割。
(4).值如果是字串,必須用雙引號包裹。
(4).鍵值對之間用逗號分割。
程式碼如下:
[JavaScript] 純文字檢視 複製程式碼{ "webName":"螞蟻部落", "url":"softwhy.com", "age":2 }
上面是合法的JSON字串,再來看如下程式碼例項:
[JavaScript] 純文字檢視 複製程式碼{ 'webName':"螞蟻部落", "url":undefined, "age":5 }
上述JSON格式字串是錯誤的,分析如下:
(1).雖然在JavaScript中單雙引號都是可以的,但是在JSON中只能使用雙引號。
(2).undefined在物件直接量格式中是不被支援的,會被忽略,不被支援的含有函式和Symbol。
看如下程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let ant={ 'webName':"螞蟻部落", "url":undefined, "age":5 } console.log(JSON.stringify(ant));
程式碼執行效果截圖如下:
可以看到單引號變成了雙引號,undefined直接被忽略。
2.陣列結構:
陣列結構資料和上面同理,只不過陣列資料要寫在方括號中。首先看一段程式碼例項:
[JavaScript] 純文字檢視 複製程式碼["螞蟻部落",5,"青島市南區"]
上述就是一個陣列結構的JSON字串,就是陣列的字串形式。
我們知道陣列中可以巢狀資料型別,比如物件直接量,下面是將其轉換為JSON資料後的結構:
[JavaScript] 純文字檢視 複製程式碼{ "web": [ { "webName":"螞蟻部落" , "url":"softwhy.com" }, { "webName":"網易" , "url":"163.com" } ] }
操作原理是一樣的,鍵需要用雙引號包裹,不支援的資料會被忽略。
當然還有許多細節,本文不做介紹,具體參閱JSON.stringify()一章節。
三.關聯方法:
通過JSON.stringify() 方法可以將引數轉換為JSON資料,也可以通過JSON.parse()方法將JSON資料還原。
JSON是ES5新增物件,僅有上述兩個方法,專注於對JSON資料的處理,恰如其名。
(1).JSON.stringify()參閱JSON.stringify()一章節。
(2).JSON.parse()參閱JSON.parse()一章節。
相關文章
- JSON語法規則JSON
- Sass 語法規則
- XML 語法規則概述XML
- CSS @page語法規則CSS
- JAVA語法規則 (轉)Java
- Perl語法的基本規則
- jsx基本語法規則JS
- if測試和語法規則
- Eslint Standard Style語法規則EsLint
- HTML基本語法和語義寫法規則與例項HTML
- JSON語法JSON
- 正則語法
- CSS-@規則(At-rules)常用語法使用總結CSS
- TDengine3.0 流式計算引擎語法規則介紹
- JSON格式或者規則簡單介紹JSON
- 系統學習 TypeScript(二)——開發流程和語法規則TypeScript
- 【java規則引擎】基本語法和相關屬性介紹Java
- 第2-4-5章 規則引擎Drools高階語法-業務規則管理系統-元件化-中臺元件化
- Drools 規則語言詳解
- html5幾個簡單語法規則簡單介紹HTML
- Shell語法規範
- 正則手記——語法篇
- 網頁設計的80/20規則(二八法則)網頁
- microsoft/RulesEngine:基於 Json的C#規則引擎ROSJSONC#
- 正規表示式語法
- C語言的本質(37)——makefile之隱含規則和模式規則C語言模式
- 語義化版本 2.0.0 - 版本控制規則
- sql語句的一些規則SQL
- 谷歌機器學習規則要點簡析:43條黃金法則谷歌機器學習
- 從零開始React:一檔 React環境搭建,語法規則,基礎使用React
- 時序資料庫 TDengine SQL 查詢語法規則彙總,官方教程奉上!資料庫SQL
- 正規表示式語法(轉)
- 失效的詞法作用域查詢規則?
- JavaScript語法中將json轉成陣列JavaScriptJSON陣列
- nginx配置location總結及rewrite規則寫法Nginx
- apache的rewrite規則無法載入問題Apache
- 正規表示式的基本語法
- SQL語句規範的寫法SQL