मैं नए फेसबुक जे एस एसडीकेनई ग्राफ़ एपीआई से लौटे JSON उत्तर डेटा तक पहुंचने में परेशानी हो रहा है कहता है।एक्सेस करना डेटा()
उदाहरण के लिए, उनके डॉक्स, जहां वे SDK का उपयोग करने का पुराना तरीका उपयोग कर रहे हैं में से कुछ में, वे डेटा के लिए सूचक प्रतिक्रिया से प्राप्त [0]
लेकिन यहाँ है, यह दिखा रहा है कि आप उपयोग करने की आवश्यकता respond.data [0] इसके बजाय: http://developers.facebook.com/tools/console/ (fb.api - फोटो-एल्बम पर क्लिक करें)
तो यह कौन है? मुझे पता है कि नीचे दिए गए मेरे कोड के साथ, यदि मैं लौटाए गए JSON पर प्राप्त करने के लिए प्रतिक्रिया [0] वाक्यविन्यास का उपयोग करने का प्रयास करता हूं तो मुझे अपरिभाषित किया जाता है।
अगर मैं प्रतिक्रिया का उपयोग [0] .length मैं भी अपरिभाषित मिल
लेकिन अगर मैं response.data कोशिश [0] .length मैं 2 जो मुझे लगता है कि लौटे JSON या मेरी 2 albums..I है मिल सिंटैक्स के संदर्भ में इस बदले ऑब्जेक्ट के साथ कैसे खेलें और इसकी कुशलताएं, इसके गुणों आदि को कैसे खेलना है,
मैं अंत में jQuery parseJSON
विधि का उपयोग कर लौटे हुए JSON को पार्स करना चाहता हूं लेकिन कोई सुराग नहीं है प्रतिक्रिया के लिए यहां सही वाक्यविन्यास भी पास करने के लिए और उस प्रतिक्रिया ऑब्जेक्ट का उपयोग करें।
FB.api(uri, function(response)
{
alert("response: " + response);
// check for a valid response
if (response == "undefined" || response == null || !response || response.error)
{
alert("error occured");
return;
}
alert("response length: " + response.data.length);
}
इस चेतावनी ने मुझे 2 दिया जो समझ में आता है। मेरे पास 2 एलबम हैं I
तब मैंने प्रतिक्रिया.data [0] जैसी कुछ कोशिश की और उस पर एक jQuery parseJSON(response.data)
या parseJSON(response.data[0])
की कोशिश की और यह काम नहीं करता है। तो क्या कोई मुझे फेसबुक के संबंध में यहां प्रतिक्रिया वस्तु की व्याख्या कर सकता है? मुझे उस लौटे ऑब्जेक्ट का उपयोग करने के तरीके के बारे में कोई दस्तावेज़ नहीं दिखता है और यह कैसे बनाया गया है।
UPDATED:
ठीक है, इसलिए यहाँ पूरे पार्स विधि का प्रयास है कि मैं अब तक बाहर टोंटदार गया है। मुझे नहीं पता कि jQuery पार्सिंग अभी तक 100% अच्छा कोड है, मैं उस तरह से स्टब किया गया हूं लेकिन मैं तब तक इसका परीक्षण नहीं कर सकता जब तक कि मुझे पता न लगे कि इस प्रतिक्रिया वस्तु का उपयोग कैसे किया जाए। मुझे पता है कि यह जेएसओएन लौट रहा है क्योंकि मैंने जेएस एसडीके में एक और विधि में एक और फेसबुक प्रतिक्रिया ऑब्जेक्ट पार्स किया है, इसलिए यह सुनिश्चित है कि प्रतिक्रिया [0] या respond.data [0] आपको JSON स्ट्रिंग देगा।
function GetAllFacebookAlbums(userID, accessToken)
{
alert("inside GetAllFacebookAlbums(userID, acessToken)");
var dFacebookAlbums = {}; // dictionary
var uri = "/" + userID + "/albums?access_token=" + accessToken;
//var uri = "/me/albums";
alert("get albums uri: " + uri);
FB.api(uri, function(response)
{
alert("response: " + response);
// check for a valid response
if (response == "undefined" || response == null || !response || response.error)
{
alert("error occured");
return;
}
alert("response length: " + response.data.length);
for (var i=0, l=response.data.length; i<l; i++)
{
alert("response[key]: " + response.data[i].Name);
}
// parse JSON from response
var dJSONObjects = jQuery.parseJSON(response.data);
alert("dJSONObjects: " + dJSONObjects);
if (dJSONObjects.length == 0)
return;
// iterate through the dictionary of returned JSON objects
// and transform each to a custom facebookAlbum object
// then add each new FacebookAlbum to the final dictionary
// that will return a set of facebookAlbums
$.each(json.attributes, function() {
// add a new album to the dictionary
aFacebookAlbums[i] = FacebookAlbum(
jsonObject["id"],
jsonObject["name"],
jsonObject["location"],
jsonObject["count"],
jsonObject["link"]
);
});
});
return dFacebookAlbums;
}
हां, कोशिश की लेकिन अपरिभाषित भी हो गया। मैं लौटा JSON स्ट्रिंग को पार्स करना चाहता हूं। वे जेएसओएन वापस भेजते हैं मुझे लगता है ... बहुत यकीन है। – PositiveGuy
@coffeeaddict: तो 'चेतावनी (प्रतिक्रिया.data [0] .name); 'कुछ भी नहीं करता है? मुझे वह उदाहरण दिखाई नहीं देता है जिसे आपने हाथ से किसी भी पार्सिंग करने के लिए लिंक किया है, जिसे एपीआई लाइब्रेरी द्वारा संभाला जाता है इससे पहले कि यह आपके कॉलबैक को भी कॉल करे। –
असल में यह वही बात है जिसकी मैंने कोशिश की..नाम क्योंकि प्रत्येक एल्बम का नाम संपत्ति है। लेकिन मुझे एक और बार कोशिश करने दो। मैं अपना पार्सिंग पोस्ट करूंगा..यह मेरे उदाहरण में उस चेतावनी के बाद होता है लेकिन क्योंकि मुझे अपरिभाषित हो रहा है क्योंकि शायद मुझे नहीं पता कि मैं क्या वापस आ रहा हूं या उस वस्तु का उपयोग कैसे करें, मेरा पार्सिंग भी विफल रहता है अपरिभाषित। – PositiveGuy