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

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

                    1. JSON 对象 & JSONObject

                      JSON 语法是 JavaScript 对象的表达方式,我们又简单的分为JSONObjectJSONArray 其实都是JSON 对象的表达方式,只是从结构上做了区分。

                      PS:如果您是要得到JavaJSON-LibJSONObject 的相关信息,请点击这个链接==>JSONObject

                      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就可以取到“本兮”。其实很?#32654;?#35299;这个点“.?#26412;?#26159;类似于“的”的感觉,json的name。这么理解是不是很?#32654;?#35299;?

                      那么问题?#25139;耍?#22914;果JSON如下数据,你们可以试试。

                      var json = {
                          "1": {
                              "name": "本兮",
                              "age": "22"
                          },
                          "2": {
                              "name": "关晓彤",
                              "age": "20"
                          }
                      };
                      alert(json.1.name);// X 错误 throw Uncaught SyntaxError;
                      

                      按我们刚刚的逻辑直接点,那么我们要取到“关晓彤?#26412;?#24212;该是。json.1.name吧,但是你会发?#30452;?#38169;,错误信息应该是Uncaught SyntaxError,语法错误,请自行测试,那么正确应该怎么获取呢?

                      //正确的打开姿势如下:
                      alert(json[1].name);
                      alert(json["1"].name);
                      alert(json["1"]["name"]);
                      //错误,undefined
                      alert(json["1"][name]);
                      

                      其实上面看出了一个问题,那么就是数值可以不带引?#29275;琒tring必须带引?#29275;?#20877;次强调:严格来讲是双引?#29275;?#20010;别弱语言支?#20540;?#24341;号。

                      JSON 特殊Key,Number篇(2)

                      严格来讲是双引?#29275;?#20010;别弱语言支?#20540;?#24341;号。还有一个问题就是,弱语言除了String类型,其他的明确类型不用单引号或者双引号。把上面的Demo在弱语言里可以这么写,比如在Javascript中可以这么写,没有任何瑕疵。

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

                      我们再来尝试获取一次。

                      结果已经看到了,其实没问题,所以要区分强弱语言的问题,建议还是强烈要求自己,按规范来,这样肯定没毛病。

                      注意:其他的我就不多说了,其实都是一样,比如boolen类型的Key,null类型的Key都是一样的处理方式。

                      支付扫码

                      所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

                      正在加载... ...

                      甘肃11选五基本走势图