天津11选5预测官方 www.vocquh.com.cn JSON 語法是 JavaScript 對象的表達方式,我們又簡單的分為JSONObject 和 JSONArray 其實都是JSON 對象的表達方式,只是從結構上做了區分。
PS:如果您是要得到Java中 JSON-Lib 中 JSONObject 的相關信息,請點擊這個鏈接==>JSONObject。
{"domain":"www.vocquh.com.cn"}
{"domain":"www.vocquh.com.cn","author":"soゝso","email":"[email protected]"}
{"domain_array":["www.vocquh.com.cn","soso.pub","soso.run","isoso.xin","isoso.xin"]}
JSON 對象在花括號中,對象可以包含多個名稱/值對,如下代碼所示:
{ "name": "本兮", "age": 22, "birthday": "1994年6月30日", }
這一點也容易理解,與這條 JavaScript 語句等價:
name = "本兮"; age = 22; birthday = "1994年6月30日";
在上面的例子中,對象 "star_male" 是包含三個對象的數組。每個對象代表一條關于一個明星(姓名和年齡)的記錄。
因為 JSON 使用 JavaScript 語法,所以無需額外的軟件就能處理 JavaScript 中的 JSON。
var json = { "name": "本兮", "age": "22" }
獲取name和age:
var name = json.name; alert("name:" + json.name); var age = json.age; alert("age:" + json.age);
當我們對象里有特殊的Key,或者不是字符串的Key,處理起來稍微有點麻煩。
就上面的Demo,我們取name,那么就是json.name
就可以取到“本兮”。其實很好理解這個點“.”就是類似于“的”的感覺,json的name。這么理解是不是很好理解?
那么問題來了,如果JSON如下數據,你們可以試試。
var json = { "1": { "name": "本兮", "age": "22" }, "2": { "name": "關曉彤", "age": "20" } }; alert(json.1.name);// X 錯誤 throw Uncaught SyntaxError;
按我們剛剛的邏輯直接點,那么我們要取到“關曉彤”就應該是。json.1.name
吧,但是你會發現報錯,錯誤信息應該是Uncaught SyntaxError
,語法錯誤,請自行測試,那么正確應該怎么獲取呢?
//正確的打開姿勢如下: alert(json[1].name); alert(json["1"].name); alert(json["1"]["name"]); //錯誤,undefined alert(json["1"][name]);
其實上面看出了一個問題,那么就是數值可以不帶引號,String必須帶引號,再次強調:嚴格來講是雙引號,個別弱語言支持單引號。
嚴格來講是雙引號,個別弱語言支持單引號?;褂幸桓鑫侍餼褪?,弱語言除了String類型,其他的明確類型不用單引號或者雙引號。把上面的Demo在弱語言里可以這么寫,比如在Javascript中可以這么寫,沒有任何瑕疵。
var json = { 1: { "name": "本兮", "age": "22" }, 2: { "name": "關曉彤", "age": "20" } }
我們再來嘗試獲取一次。
結果已經看到了,其實沒問題,所以要區分強弱語言的問題,建議還是強烈要求自己,按規范來,這樣肯定沒毛病。
注意:其他的我就不多說了,其實都是一樣,比如boolen類型的Key,null類型的Key都是一樣的處理方式。
綜合技術交流:點擊加入--> [SO JSON官方交流①群][收費]
綜合技術交流:點擊加入--> [SO JSON官方交流②群][免費]
要求:不能發廣告、暴力、政治、付費教程,違者直接踢出。
備注:入群費用5元,沒有QQ錢包,可以先支付寶
or 微信
掃碼支付5元贊助后,我拉您進去。QQ聯系我。
掃碼贊助:贊助二維碼。
所有贊助/開支都講公開明細,用于網站維護:贊助名單查看
正在加載... ...