Meteor.js HTTP.get获取JSON引号并解析结果似乎包含一个回调函数

时间:2015-01-21 08:00:37

标签: javascript json meteor

我正在尝试从126.com获取Meteor.js中的数据。这是一个例子:

http://api.money.126.net/data/feed/1000001,money.api

然后会返回以下内容(可以通过在浏览器中打开上面的url来测试):

_ntes_quote_callback({"1000001":{"code": "1000001", "percent": 0.042661, "high": 14.6, "askvol3": 318361, "askvol2": 93200, "askvol5": 214900, "askvol4": 62327, "price": 14.42, "open": 13.88, "bid5": 14.38, "bid4": 14.39, "bid3": 14.4, "bid2": 14.41, "bid1": 14.42, "low": 13.75, "updown": 0.59, "type": "SZ", "bidvol1": 459480, "status": 0, "bidvol3": 1713089, "bidvol2": 518100, "symbol": "000001", "update": "2015/01/21 15:34:15", "bidvol5": 508800, "bidvol4": 436678, "volume": 194053037, "askvol1": 90420, "ask5": 14.47, "ask4": 14.46, "ask1": 14.43, "name": "\u5e73\u5b89\u94f6\u884c", "ask3": 14.45, "ask2": 14.44, "arrow": "\u2191", "time": "2015/01/21 15:34:09", "yestclose": 13.83, "turnover": 2758192756.95} });

我可以得到内容。问题来自于领先的" _ntes_quote_callback"我认为我应该使用该名称设置一个函数并返回参数?怎么样?谢谢你的任何建议。

我是javascript和html的新手,所以我尝试了一些代码虽然无法实现。我尝试过以下方法:

在客户端

_ntes_quote_callback = (jsonobj)-> jsonobj stock = Session.get 'stock' Meteor.call 'getQuote', stock, (err, results)-> if err then return console.log results.content Session.set 'quote', JSON.parse results.content.val()

和服务器端:

if Meteor.isServer Meteor.methods getQuote: (stock) -> url = "http://api.money.126.net/data/feed/#{stock}" HTTP.call 'GET', url

1 个答案:

答案 0 :(得分:0)

可以提供一个指定回调(或者没有)的查询字符串参数,但是如果有任何API文档,他们用普通话(我认为),这排除了为我阅读它们。

但是,即使你没有能够操纵返回的数据也是如此:

var regex = /^_ntes_quote_callback\((.*)\);$/,
    rawContent = HTTP.get(url).content,
    json = regex.exec(rawContent.content) && JSON.parse(regex.exec(rawContent.content)[1]);

变量json应该是包含您数据的对象(道歉,我不做CoffeeScript)。