Я использую ниже код для создания объекта JSON, который выглядит следующим образом:Построение действительного объекта JSON с Javascript
{"contacts":[{"provider":"Yahoo","firstName":"myname","lastName":"surname","nickname":"mynick","email":"[email protected]","photoURL":"http://l.yimg.com/dh/ap/social/profile/profile_bxx.png"}]};
var data = {};
var contacts;
var gc = $.when(gigya.socialize.getContacts({callback: function(response){
data['contacts'] = response.contacts.asArray();
}}));
gc.done(function(response) {
contacts = data;
});
console.log(contacts);
Когда я прохожу в результате контакты объекта в шаблон соевого Google, объект JSON Безразлично Кажется хорошо построенным.
С помощью кода выше, как я могу построить действительный объект JSON?
Спасибо за помощь.
'getContacts()', вероятно, является асинхронным, что означает, что он пытается записать 'контакты' перед оценкой' contacts = data'. Попробуйте переместить 'console.log (контакты)' в обратный вызов '.done()'. Для получения дополнительной информации о подобной выборке см. Http://stackoverflow.com/q/14220321. –
Я могу получить значение 'contacts' вне' .done() '. Проблема заключается в получении действительного выхода JSON – drecute
'var asJSON =' ['JSON.stringify (contacts)'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ JSON/stringify) –