2016-05-14 90 views
0

我已經提取JSON內容從this web site得到一個JSON值返回undefined

已經創建了谷歌腳本編輯器中的一些代碼...

var urlresponse = UrlFetchApp.fetch(url).getContentText().substring(3); 
var jsondata = JSON.stringify(urlresponse); 
var jsonparseddata = JSON.parse(jsondata); 

我可以打印jsonparseddata到日誌如下。 但似乎無法獲得價值,甚至嘗試迭代。已花費數小時嘗試各種在線示例,需要幫助。感謝

當使用jsonparseddata [0] .ID日誌返回 '未定義'

[{ 
    "id": "22144", 
    "t": "AAPL", 
    "e": "NASDAQ", 
    "l": "90.52", 
    "l_fix": "90.52", 
    "l_cur": "90.52", 
    "s": "0", 
    "ltt": "4:00PM EDT", 
    "lt": "May 13, 4:00PM EDT", 
    "lt_dts": "2016-05-13T16:00:02Z", 
    "c": "+0.18", 
    "c_fix": "0.18", 
    "cp": "0.20", 
    "cp_fix": "0.20", 
    "ccol": "chg", 
    "pcls_fix": "90.34" 
}] 
+6

看看[在JavaScript中解析JSON](http://stackoverflow.com/questions/4935632/parse-json-in-javascript) – Casey

+0

您有一個JSON數組。請'jsonparseddata [0] .id'來讀取ID,'jsonparseddata [0] .e'來查看「納斯達克」等 –

+0

我'解析'了JSON。但是我需要提取值 – Tommy

回答

0

添加記錄到顯示每個變量的類型。

正如我用的.getContentText()。substring(3);對於由於網站上格式錯誤的JSON導致的urlresponse,這使得每個後續變量都是一個字符串。

使用EVAL - var jsondata = JSON.stringify(eval(urlresponse)); 現在,jsonparseddata是一個對象,jsonparseddata [0] .id正在返回一個值,而不是未定義的。