2016-05-14 93 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正在返回一个值,而不是未定义的。