<div id="wh8kw"><tr id="wh8kw"></tr></div>
          1. <div id="wh8kw"></div>

                      <dd id="wh8kw"></dd>

                    1. JSON 對象 & JSONObject

                      JSON 語法是 JavaScript 對象的表達方式,我們又簡單的分為JSONObjectJSONArray 其實都是JSON 對象的表達方式,只是從結構上做了區分。

                      JSON 對象語法規則

                      • 數據在名稱/值對中,如{"domain":"sojson.com"}
                      • 可以多對鍵值對,如{"domain":"sojson.com","author":"soゝso","email":"[email protected]"}
                      • 值里面可以有數組(Array),如{"domain_array":["sojson.com","soso.pub","soso.run","isoso.xin","isoso.xin"]}

                      JSON 對象

                      JSON 對象在花括號中,對象可以包含多個名稱/值對,如下代碼所示:

                      {
                          "name": "本兮",
                          "age": 22,
                          "birthday": "1994年6月30日",
                      }

                      這一點也容易理解,與這條 JavaScript 語句等價:

                      name = "本兮";
                      age = 22;
                      birthday = "1994年6月30日";
                      

                      在上面的例子中,對象 "star_male" 是包含三個對象的數組。每個對象代表一條關于一個明星(姓名和年齡)的記錄。

                      JSON 使用 JavaScript 獲取元素值

                      因為 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);
                      

                      JSON 特殊Key,Number篇(1)

                      當我們對象里有特殊的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必須帶引號,再次強調:嚴格來講是雙引號,個別弱語言支持單引號。

                      JSON 特殊Key,Number篇(2)

                      嚴格來講是雙引號,個別弱語言支持單引號。還有一個問題就是,弱語言除了String類型,其他的明確類型不用單引號或者雙引號。把上面的Demo在弱語言里可以這么寫,比如在Javascript中可以這么寫,沒有任何瑕疵。

                      var json = {
                          1: {
                              "name": "本兮",
                              "age": "22"
                          },
                          2: {
                              "name": "關曉彤",
                              "age": "20"
                          }
                      }

                      我們再來嘗試獲取一次。

                      結果已經看到了,其實沒問題,所以要區分強弱語言的問題,建議還是強烈要求自己,按規范來,這樣肯定沒毛病。

                      注意:其他的我就不多說了,其實都是一樣,比如boolen類型的Key,null類型的Key都是一樣的處理方式。

                      支付掃碼

                      所有贊助/開支都講公開明細,用于網站維護:贊助名單查看

                      正在加載... ...

                      甘肃11选五基本走势图