js 中的json物件和map
json 是一種輕量級的資料交換格式。對於 js 來說,json物件就是一個普通的物件。
它規定了一種格式規範,為各種程式語言進行資料的建立和交換提供了一個準則。
es6開始加入了集合的概念,大多數程式簡單地用物件來儲存鍵值就夠了,對它們而言沒什麼必要換用Map和Set。
但是直接使用物件有一些問題:
作為查詢表使用的物件,不能既支援方法又保證避免衝突。
因而,要麼得用Object.create(null)而非直接寫 {} ,要麼得小心地避免把 Object.prototype.toString之類的內建方法名作為鍵來儲存資料。
物件的鍵名總是字串(當然, ES6 中也可以是Symbol)而不能是另一個物件。
沒有效的獲知屬性個數的方法。
ES6 中又出現了新問題:純粹的物件不可遍歷,也就是它們不能配合 for -of 迴圈或… 操作符等語法。
ES6中的集合是為避免使用者資料與內建方法衝突而設計,所以它們不會把資料作為屬性暴露出來。也就是說,obj.key 或 obj[key]不能再用來訪問資料了,取而代之的是map.get(key)。
話說回來,json物件是由鍵值對組成的;而一個 Map物件由若干鍵值組成。
除了上面提到的一些集合的特性,還有其本身一些特殊的方法外,到底有沒有什麼容易理解的特性呢。map物件中的鍵值對是唯一的,這些特性可以在任何一本關於ES6的書中找到。
作為一個新人,我一直試圖證明json物件存進去的數字,再取出來的時候就變成了字串(起碼我們在進行資料請求時得到的json資料會出現這些問題),於是我在瀏覽器的控制檯輸入了下面的程式碼:
var json = {a:1};
console.log(typeof json.a);
結果得到的卻是:
“number”
算了,本來一個是資料格式,一個是資料型別,就不必糾結二者的區別了,我們只需要謹慎的使用json物件,並且積極地使用map就行了。
本文部分內容來自深入淺出ES6
相關文章
- JSON物件中的JSONObject和JSONArray以及與Map、String、陣列的轉化JSON物件Object陣列
- JS中的JSON物件JSON物件
- Android中實現JSON字串和JSON物件的轉換AndroidJSON字串物件
- json字串和json格式物件的轉換JSON字串物件
- ajax和json物件JSON物件
- JavaScript物件和JSONJavaScript物件JSON
- json陣列和json物件的包含關係JSON陣列物件
- JavaScript 中 structuredClone 和 JSON.parse(JSON.stringify()) 克隆物件的區別JavaScriptStructJSON物件
- golang中struct、json、map互相轉化GolangStructJSON
- Map 轉json資料,json資料轉換為MapJSON
- VUE js中複製物件 JSONVue物件JSON
- Java map轉JSONJavaJSON
- json keyname mapJSON
- javascript物件和php物件和json區別JavaScript物件PHPJSON
- 使用@ResponseBody物件轉json和@RequestBody進行json轉物件案例物件JSON
- JSONObject應用Json字串和Object物件之間的轉換,Map封裝資料思路JSONObject字串物件封裝
- fastjson: json物件,json物件陣列,javabean物件,json字串之間的相互轉化ASTJSON物件陣列JavaBean字串
- json中物件陣列迭代JSON物件陣列
- JSON 物件JSON物件
- json 物件與json 字串的區別。JSON物件字串
- Java中的Json Path和Json Merge PatchJavaJSON
- Json和Map互轉,三個包(org.json/net.sf.json/com.google.gson)JSONGo
- 在session中儲存JSON物件SessionJSON物件
- node將js中的json物件生成到新的excel表中JSON物件Excel
- java json和物件互相裝換JavaJSON物件
- JS於string 和 json互轉物件JSON物件
- js把json字串轉成json物件JSON字串物件
- JSON 物件——05JSON物件
- JSON.NET框架實現C#物件和JSON字串的轉換JSON框架C#物件字串
- json例項練習 json物件JSON物件
- Json物件與Json字串互轉JSON物件字串
- JSON 與 JS 物件的關係JSON物件
- json字串和js物件之間相互轉換JSON字串物件
- js物件轉json字串物件JSON字串
- 將物件解析為JSON資料和將JSON資料解析為物件的簡單例項物件JSON單例
- js 將json字串轉換為json物件的方法解析JSON字串物件
- js jquery 列印物件;json 物件轉字串jQuery物件JSON字串
- JS json字串轉物件、物件轉字串JSON字串物件