iT邦幫忙

DAY 22
0

JavaScript學習路系列 第 22

JavaScript學習路-(22)JSON-2

昨天寫出 JSON 的式子,今天把它轉換資料。

建立物件...給 JSON 資料一個變數

var car = {
"name": "Ferrari FF",
"dimensions":[{
"Length": "4907 mm",
"Width": "1953 mm",
"Height": "1379 mm"
}],
"weight": 1790,
"Top speed": "335 km/h"
}

從物件建立 JSON ,用 JSON.stringify 函式轉換

var json = JSON.stringify(car);

可以用 console.log 試試看...

console.log(json);

會跳出以下結果代表處理成功,這時候是字串形態:

{"name":"Ferrari FF","dimensions ":[{"Length":"4907 mm","Width":"1953 mm","Height":"1379 mm"}],"weight":1790,"Top speed":"335 km/h"}

JSON.parse() 把 JSON 字串轉換成物件。
因為網路上的 JSON 檔案是字串形態,要先抓取字串後再做轉換。

var carStr = '{\
"name": "Ferrari FF",\
"dimensions":[{\
"Length": "4907 mm",\
"Width": "1953 mm",\
"Height": "1379 mm"\
}],\
"weight": 1790,\
"Top speed": "335 km/h"\
}';

程式碼裡面的 \ 是字串斷行的符號,因 JSON 字串不能直接斷行,會出錯的。

先把 car 字串資料轉到物件:

var str = JSON.parse(carStr);

然後就可以抓取裡面任何一筆資訊囉
要抓字串的話:

console.log(carStr.dimensions);

要抓陣列的話,首先先找到陣列的名稱 (dimensions) ,
再來看要找的資料在陣列的哪裏,以本例來說是第一個也就是 [0],
最後 .要找的名稱

console.log(str.dimensions[0].Length);

參考資料 & 其他閱讀:
你不可不知的 JSON 基本介紹

本文同步發表於 http://azzurro.blog.aznc.cc/learn_javascript_22/


上一篇
JavaScript學習路-(21)JSON-1
下一篇
JavaScript學習路-(23)表單驗證-1
系列文
JavaScript學習路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言