我使用 Twitter API 的方式如下:
...
var params = {id: 656958};
client.get('trends/place', params, function(error, tweets, response){
if(error) throw error;
console.log(tweets[0]);
});
...
我的控制台日志如下所示: Console output 现在我想将每个名称与 tweet_volume 存储在数据库中。 我如何访问这些键/值对? 感谢您的帮助!
我尝试过这样的:
var params = {id: 656958};
client.get('trends/place', params, function(error, tweets, response){
if(error) throw error;
console.log(tweets[0]);
});
var tweets = JSON.parse(tweets[0]);
function getNamePair(){
for (var key in tweets.trends) {
var name = tweets.trends[key].name;
var volume = jsonResponse.trends[key].tweet_volume;
console.log(key, "Name - " + name + ", tweet_vol - " + volume);
}
}
getNamePair();
但我收到错误:
var tweets = JSON.parse(tweets[0]);
^
TypeError: Cannot read property '0' of undefined
通过使用 var tweets = JSON.parse(tweets); 我认为我访问了错误的数据。 本例中的输出:
undefined:1
undefined
^
SyntaxError: Unexpected token u
最佳答案
只需迭代您的 json 数据
。
如果您获得字符串形式的响应,那么您可能必须在迭代之前解析
它以获取JavaScript对象。 [查看更新后的代码]。如果您的响应是 json(JavaScript 对象),那么您可以直接对其进行迭代。
一个简单的例子:
//if your response is string
var jsonData = "{\"trends\":[{\"name\":\"ABC\",\"tweet_volume\":101},{\"name\":\"XYZ\",\"tweet_volume\":111},{\"name\":\"PQR\",\"tweet_volume\":121}]}";
//parse string to json
var jsonResponse = JSON.parse(jsonData);
function getNamePair() {
for (var key in jsonResponse.trends) {
var name = jsonResponse.trends[key].name;
var volume = jsonResponse.trends[key].tweet_volume;
console.log(key, "Name - " + name + ", tweet_vol - " + volume);
}
}
getNamePair();
将这些对存储在 json 中,然后您可以将此数据发送到您的服务器并保存它。
关于javascript - 在 JavaScript/Twitter API 中访问 Json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38346714/