亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

在JavaScript中使用JSON數據

2019-11-20 10:36:00
字體:
來源:轉載
供稿:網友

JSON 是 JavaScript 原生格式,這意味著 在 JavaScript 中處理 JSON 數據不需要任何特殊的 API 或工具包。

JSON語法

JSON建構于兩種結構:

對象――名稱/值對的集合。不同的語言中,它被理解為對象,紀錄,結構,字典,哈希表,有鍵列表(keyed list),或者關聯數組。一個對象以“{”(左括號)開始,“}”(右括號)結束。每個“名稱”后跟一個“:”(冒號);“‘名稱/值' 對”之間使用“,”(逗號)分隔。

數組――值的有序列表。在大部分語言中,它被理解為數組。一個數組以“[”(左中括號)開始,“]”(右中括號)結束。值之間使用“,”(逗號)分隔。

JSON沒有變量或其他控制結構。JSON只用于數據傳輸。

將JSON 數據賦值給變量

例如,可以創建一個新的 JavaScript 變量,然后將 JSON 格式的數據字符串直接賦值給它:

var people ={ "programmers": [{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },{ "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" },{ "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }],"authors": [{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },{ "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }],"musicians": [{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },{ "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }]}

這非常簡單;現在 people 包含前面看到的 JSON 格式的數據。但是,這還不夠,因為訪問數據的方式似乎還不明顯。

訪問數據

盡管看起來不明顯,但是上面的長字符串實際上只是一個數組;將這個數組放進 JavaScript 變量之后,就可以很輕松地訪問它。實際上,只需用點號表示法來表示數組元素。所以,要想訪問 programmers 列表的第一個條目的姓氏,只需在 JavaScript 中使用下面這樣的代碼:

people.programmers[0].lastName;

注意,數組索引是從零開始的。所以,這行代碼首先訪問 people 變量中的數據;然后移動到稱為 programmers 的條目,再移動到第一個記錄( [0] );最后,訪問 lastName 鍵的值。結果是字符串值 “McLaughlin” 。

下面是使用同一變量的幾個示例。

people.authors[1].genre // Value is "fantasy"people.musicians[3].lastName // Undefined. This refers to the fourth entry,and there isn't onepeople.programmers[2].firstName // Value is "Elliotte"

利用這樣的語法,可以處理任何 JSON 格式的數據,而不需要使用任何額外的 JavaScript 工具包或 API 。

修改 JSON 數據

正如可以用點號和括號訪問數據,也可以按照同樣的方式輕松地修改數據:

people.musicians[1].lastName = "Rachmaninov";

在將字符串轉換為 JavaScript json 格式對象之后,就可以像這樣修改變量中的數據。

注意:json 格式的對象和 json 文本是不同的

var obj={name:" 張三 ","sex":' 男 '}; //json 格式的對象var str=" { name: " 張三 " , "sex" : ' 男 ' }" ; //json 格式的字符串( json 格式的文本)

轉換回字符串

當然,如果不能輕松地將對象轉換回本文提到的文本格式,那么所有數據修改都沒有太大的價值。在 JavaScript 中這種轉換也很簡單:

var newJSONtext = people.toJSONString();

這樣就行了!現在就獲得了一個可以在任何地方使用的文本字符串,例如,可以將它用作 Ajax 應用程序中的請求字符串。

更重要的是,可以將任何 JavaScript 對象轉換為 JSON 文本。并非只能處理原來用 JSON 字符串賦值的變量。為了對名為 myObject 的對象進行轉換,只需執行相同形式的命令:

<script type="text/javascript">function Car(make,model,year,color){this.make=make; this.model=model; this.year=year; this.color=color;} function showCar(){var carr = new Car("Dodge","Coronet R/T",1968,"yellow"); alert(carr.toJSONString()); }</script>

這就是 JSON 與其他數據格式之間最大的差異。如果使用 JSON ,只需調用一個簡單的函數,就可以獲得經過格式化的數據,可以直接使用了。對于其他數據格式,需要在原始數據和格式化數據之間進行轉換。即使使用 Document Object Model 這樣的 API (提供了將自己的數據結構轉換為文本的函數),也需要學習這個 API 并使用 API 的對象,而不是使用原生的 JavaScript 對象和語法。

最終結論是,如果要處理大量 JavaScript 對象,那么 JSON 幾乎肯定是一個好選擇,這樣就可以輕松地將數據轉換為可以在請求中發送給服務器端程序的格式(Ajax) 。

JSON字符串轉換為JSON對象的方法

要使用上面的str1,必須使用下面的方法先轉化為JSON對象:

//由JSON字符串轉換為JSON對象var obj = eval('(' + str + ')');

或者

var obj = str.parseJSON(); //由JSON字符串轉換為JSON對象

或者

var obj = JSON.parse(str); //由JSON字符串轉換為JSON對象

然后,就可以這樣讀?。?/p>

Alert(obj.name);Alert(obj.sex);

特別注意:如果obj本來就是一個JSON對象,那么使用eval()函數轉換后(哪怕是多次轉換)還是JSON對象,但是使用parseJSON()函數處理后會有問題(拋出語法異常)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av免费在线播放| 91牛牛免费视频| 色噜噜久久综合伊人一本| 日韩在线免费高清视频| 国产一级揄自揄精品视频| 亚洲福利在线视频| 国精产品一区一区三区有限在线| 国产成人精品一区| 日韩电影第一页| 国产精品久久国产精品99gif| 国产精品6699| 97精品国产aⅴ7777| 成人国产精品久久久久久亚洲| 国产精品久久久久久久久| 亚洲图片欧美日产| 麻豆成人在线看| 成人免费高清完整版在线观看| 亚洲精品综合久久中文字幕| 日韩电影免费在线观看| 欧洲亚洲免费在线| 亚洲日本欧美日韩高观看| 欧美电影免费在线观看| 国产精品高潮粉嫩av| 欧美日韩不卡合集视频| 91免费版网站入口| 美日韩丰满少妇在线观看| 日本91av在线播放| 色噜噜狠狠狠综合曰曰曰| 久久影院在线观看| 国产精品免费视频xxxx| 欧美理论在线观看| 国产精品自产拍在线观看| 精品亚洲夜色av98在线观看| 欧美精品少妇videofree| 97激碰免费视频| 韩日欧美一区二区| 亚洲欧美制服中文字幕| 91日韩在线播放| 久久免费视频网| 富二代精品短视频| 欧美午夜精品伦理| www.国产一区| 欧美成人sm免费视频| 日本一区二区不卡| 国产女人精品视频| 中文字幕日韩有码| 欧美激情精品久久久久久| 欧美理论电影在线观看| 96sao精品视频在线观看| 亚洲欧洲成视频免费观看| 久久精品国产久精国产思思| 亚洲成人网在线观看| 亚洲精品一区中文字幕乱码| 日韩精品在线第一页| 亚洲欧美日韩中文视频| 精品久久久中文| 亚洲资源在线看| 7777免费精品视频| 国产成人一区二区三区小说| 久久久久久亚洲| 成人网在线观看| 亚洲激情视频网站| 亚洲第五色综合网| 国产91网红主播在线观看| 精品高清一区二区三区| 国产午夜精品一区理论片飘花| 91在线观看免费观看| 日韩欧美视频一区二区三区| 国产精品久久久久久久久免费| 久久精品成人一区二区三区| 中文字幕亚洲精品| 91在线观看欧美日韩| 精品国产鲁一鲁一区二区张丽| 色悠悠国产精品| 69久久夜色精品国产69| 最近中文字幕mv在线一区二区三区四区| 国产精品普通话| 国产精品吴梦梦| 国产欧美精品日韩| 欧美日韩国产黄| 亚洲色图五月天| 国产精品人人做人人爽| 国产精欧美一区二区三区| 日韩精品电影网| 欧美日韩午夜视频在线观看| 91免费看视频.| 国产精品尤物福利片在线观看| www国产精品com| 欧美极品欧美精品欧美视频| 日韩激情视频在线| 日韩国产高清视频在线| 久久精品国亚洲| 亚洲国产美女精品久久久久∴| 久久99精品久久久久久噜噜| 成人午夜两性视频| 日本19禁啪啪免费观看www| 日韩欧美成人区| 精品国产999| 亚洲欧洲在线播放| 国产精品欧美激情| 久久精品视频网站| 亚洲xxxx做受欧美| 久久久国产精品亚洲一区| 在线观看国产精品日韩av| 日韩精品在线视频观看| 欧美日韩精品在线观看| 日韩网站免费观看高清| 亚洲肉体裸体xxxx137| 亚洲欧洲国产精品| 中文欧美日本在线资源| 国产精品一久久香蕉国产线看观看| 成人国产精品日本在线| 欧美另类高清videos| 69久久夜色精品国产69| 动漫精品一区二区| 色与欲影视天天看综合网| 欧美日韩国产成人高清视频| 国产亚洲人成网站在线观看| 国产精品www网站| 国产性猛交xxxx免费看久久| 国产成人涩涩涩视频在线观看| 久久久久一本一区二区青青蜜月| 精品久久久久久久久久久久久| 国产日韩在线精品av| 成人黄色激情网| 成人信息集中地欧美| 日韩免费看的电影电视剧大全| 欧美国产精品va在线观看| 精品久久久久久久久久久久| 欧美日韩另类字幕中文| 国产精品日本精品| 亚洲人成欧美中文字幕| 国产精品18久久久久久首页狼| 91国产高清在线| 国产成人一区二| 日韩精品一二三四区| 亚洲人成在线一二| 欧美日韩精品国产| 欧洲成人免费视频| 成人写真视频福利网| 97人洗澡人人免费公开视频碰碰碰| 日韩精品极品毛片系列视频| 久久婷婷国产麻豆91天堂| 成人日韩av在线| www.美女亚洲精品| 国产精品第七十二页| 欧美日韩国产va另类| 亚洲一区中文字幕在线观看| 最近2019中文字幕mv免费看| 欧美黑人巨大精品一区二区| 精品国产91乱高清在线观看| 国产精品狠色婷| 久久伊人精品一区二区三区| 7777kkkk成人观看| 久久亚洲精品中文字幕冲田杏梨| 成人久久久久久| 日韩欧美国产免费播放| 国产成人在线播放| 午夜精品久久久久久久久久久久| 亚洲美女www午夜| 尤物yw午夜国产精品视频明星| 欧美成人一区二区三区电影| 疯狂蹂躏欧美一区二区精品| 色哟哟入口国产精品|