के रूप में सुलभ नहीं है मैं ट्विटर एपीआई के साथ काम कर रहा हूं और मैं वास्तव में भ्रमित करने वाली समस्या को मार रहा हूं।जावास्क्रिप्ट सरणी एक सरणी
const Twitter = require('twitter-api-stream')
const twitterCredentials = require('./credentials').twitter
const twitterApi = new Twitter(twitterCredentials.consumerKey, twitterCredentials.consumerSecret, function(){
console.log(arguments)
})
twitterApi.getUsersTweets('everycolorbot', 1, twitterCredentials.accessToken, twitterCredentials.accessTokenSecret, (error, result) => {
if (error) {
console.error(error)
}
if (result) {
console.log(result) // outputs an array of json objects
console.log(result.length) //outputs 3506 for some reason (it's only an array of 1)
console.log(result[0]) // outputs a opening bracket ('[')
console.log(result[0].text) // outputs undefined
}
})
कौन सा चहचहाना के साथ बातचीत करने के लिए निम्न समारोह बुला रहा है:
TwitterApi.prototype.getUsersTweets = function (screenName, statusCount, userAccessToken, userRefreshToken,cb) {
var count = statusCount || 10;
var screenName = screenName || "";
_oauth.get(
"https://api.twitter.com/1.1/statuses/user_timeline.json?count=" + count + "&screen_name=" + screenName
, userAccessToken
, userRefreshToken
, cb
);
};
यह लगता जैसे मैं परिणाम मैं चाहता हूँ हो रही है
मैं निम्नलिखित स्क्रिप्ट है।
[
{
"created_at": "Thu Sep 01 13:31:23 +0000 2016",
"id": 771339671632838656,
"id_str": "771339671632838656",
"text": "0xe07732",
"truncated": false,
...
}
]
कौन महान है, ट्वीट 1 ट्वीट करने के लिए सीमित की एक सरणी: मैं परिणाम से ही लॉग ऑन करें जब मैं निम्नलिखित उत्पादन मिलता है।
समस्या जो मैं चल रहा हूं वह है जब मैं इस सरणी तक पहुंचने का प्रयास करता हूं।
console.log(result.length) //outputs 3506 for some reason (it's only an array of 1)
console.log(result[0]) // outputs a opening bracket ('[')
console.log(result[0].text) // outputs undefined
मैं api docs for the user_timeline के माध्यम से वापस पढ़ें लेकिन जब तक मैं पूरी तरह से इसे याद कर रहा हूँ मैं नहीं दिखाई दे रहा विशेष उत्पादन का कोई उल्लेख।
कोई विचार? है कि इसका जवाब ओर इशारा करते हुए के लिए @nicematt
अद्यतन
धन्यवाद।
बस समाधान पर विस्तृत करने, मैं इस के लिए मेरे कोड अद्यतन और अब मैं परिणाम मैं चाहता हूँ हो रही है:
if (result) {
let tweet = JSON.parse(result)[0] // parses the json and returns the first index
console.log(tweet.text) // outputs '0xe07732'
}
मदद के लिए धन्यवाद!
'' 'JSON.parse (परिणाम)' '' – rottenoats
ऐसा लगता है कि 'result' एक स्ट्रिंग, हो सकता है JSON स्ट्रिंग है ? – Teemu
हां, शायद यही कारण है कि लंबाई 3506 लौटती है। – GuyT