JSON文件是什么意思
這篇文章主要介紹了JSON文件是什么意思,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
JSON 代表 JavaScript 對象表示法。JSON 文件以 .json 為擴(kuò)展名,其中的數(shù)據(jù)以鍵:值對表示,就像傳統(tǒng)的 JavaScript 對象一樣。不過,JSON 和對象并不完全相同。核心區(qū)別在于JSON中的key必須是雙引號,除number和null之外的值也必須是雙引號。如果您在編程過程中使用過 API,您可能知道什么是 JSON,因為現(xiàn)在很多 API 數(shù)據(jù)都采用 JSON 格式。
基本 JSON 語法
{
"key1":"value1",
"key2":"value2",
"key3":"value3",
"key4":7,
"key5":null,
"favFriends":["Kolade","Nithya","Dammy","Jack"],
"favPlayers":{"one":"Kante","two":"Hazard","three":"Didier"}
}
接受的 JSON 數(shù)據(jù)類型
JSON 可以定義在一個對象或一個數(shù)組中,它可能包含多個對象。因此,對象和數(shù)組是 JSON 中自動可接受的數(shù)據(jù)類型。它支持的其他數(shù)據(jù)類型是布爾值、空值和字符串。
JSON 不支持 undefined、function 和 date 等數(shù)據(jù)類型。
此外,JSON 還可以擴(kuò)展為其他數(shù)據(jù)格式,這些格式可能接受原始 JSON 不接受的額外數(shù)據(jù)類型。
此類擴(kuò)展的示例是 GeoJSON 和 BSON。GeoJSON 用于表示地理數(shù)據(jù),而流行的數(shù)據(jù)庫服務(wù)提供商 MongoDB 使用 BSON。
例如,BSON 接受正則表達(dá)式、日期和時間戳作為數(shù)據(jù)類型,而 JSON 不接受。
JSON 語法規(guī)則
JSON 在支持的數(shù)據(jù)類型方面非常嚴(yán)格。如果您在代碼編輯器中安裝了 linter,它會在您輸入不受支持的數(shù)據(jù)類型或違反語法規(guī)則時立即通知您存在錯誤。
要知道的 JSON 語法規(guī)則:
-
如果將文件表示為對象,則文件中的所有數(shù)據(jù)必須用大括號括起來,如果它是數(shù)組,則必須用方括號括起來。
-
不允許單引號
-
每個 JSON 中的鍵必須是唯一的,并且必須用雙引號引起來
-
數(shù)字不能用雙引號括起來,否則它們將被視為字符串。
-
空數(shù)據(jù)類型不能用雙引號括起來。
-
布爾值只能為真或假。
-
除最后一項外,每個鍵值對都必須以逗號結(jié)尾
-
數(shù)組中的特定對象也必須以逗號結(jié)尾。
JSON 數(shù)據(jù)如何發(fā)送到客戶端(瀏覽器)
JSON 是出于將數(shù)據(jù)從服務(wù)器(例如數(shù)據(jù)庫)實(shí)時發(fā)送到客戶端(瀏覽器)的需要而創(chuàng)建的。
但是 JSON 數(shù)據(jù)不能以其原始的鍵值對形式傳輸?shù)綖g覽器,因此編程語言有操作 JSON 數(shù)據(jù)的方法。
例如,在 JavaScript 中,JSON.parse()將 JSON 數(shù)據(jù)轉(zhuǎn)換為對象,JSON.stringify()并將對象的鍵值對轉(zhuǎn)換為 JSON 數(shù)據(jù)。
Python 提供了諸如json.loads()將現(xiàn)有字符串轉(zhuǎn)換為 JSON 以及json.dumps()將對象轉(zhuǎn)換為 JSON 字符串等方法。
您可以使用 JavaScript 提供的兩種方法將基本 JSON 語法中的數(shù)據(jù)發(fā)送到瀏覽器。
如何使用 JavaScript 將 JSON 數(shù)據(jù)發(fā)送到客戶端(瀏覽器)
該JSON.stringify()方法返回一個與 JavaScript 對象完全相同的 JSON 字符串。您可以將它與 DOM 操作方法結(jié)合使用以在瀏覽器中顯示 JSON 數(shù)據(jù),就像我在下面的代碼片段中所做的那樣:
<h3>HereistheDatafromtheJSON:</h3>
<divid="json"></div>
constJSONData={
"key1":"value1",
"key2":"value2",
"key3":"value3",
"key4":7,
"key5":null,
"favFriends":["Kolade","Nithya","Dammy","Jack"],
"favPlayers":{"one":"Kante","two":"Hazard","three":"Didier"}
}
constJSONString=JSON.stringify(JSONData)
constJSONDisplay=document.querySelector("#json")
JSONDisplay.innerHTML=JSONString
在 JavaScript 代碼中,我們將 JSON 數(shù)據(jù)聲明為帶有標(biāo)識符 (name) 的對象字面量JSONData。我們使用 JavaScript 的JSON.stringify()方法將其轉(zhuǎn)換為字符串,并使用 DOM 的查詢選擇器方法獲取 HTML 中的空 div。這使得使用innerHTMLDOM 操作方法填充其中的 JSON 數(shù)據(jù)成為可能。
我們可以使用該JSON.parse()方法將 JSON 數(shù)據(jù)轉(zhuǎn)換為對象——它正在運(yùn)行:
<h3>HereistheDatafromtheJSON:</h3>
<divid="json"></div>
constJSONData=
'{"name":"Kolade","favFriends":["Kolade","Nithya","Rocco","Jack"],"from":"Africa"}';
try{
constJSONString=JSON.parse(JSONData);
constJSONDisplay=document.querySelector("#json");
JSONDisplay.innerHTML=JSONString.name+",["+JSONString.favFriends+"],"+JSONString.from;
}catch(error){
console.log("CannotparsetheJSONData");
}
瀏覽器中的結(jié)果輸出如下所示:
總結(jié)
以上是生活随笔為你收集整理的JSON文件是什么意思的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tkmybatis 子查询_日均20亿流
- 下一篇: 西门子博图的FB块_西门子S7-300/