2012-10-02 23 views
3

我在玩gihub api,想知道怎樣才能使靜態(在包含的屬性中返回正確的)JSON響應,以便我可以使用自動完成工作。如何在JavaScript中獲得API調用的JSON響應自動完成?

我試圖欺騙PhpStorm以爲響應的語法如下,但currentUser = user.data;使復位對象和它的屬性不會在自動完成

所示。這是我的方法:

var githubUser = { 
    avatar_url: null, 
    bio: null, 
    blog: null, 
    company: null, 
    created_at: null, 
    email: null, 
    followers: null, 
    following: null, 
    gravatar_id: null, 
    hireable: null, 
    html_url: null, 
    id: null, 
    location: null, 
    login: null, 
    name: null, 
    public_gists: null, 
    public_repos: null, 
    type: null, 
    url: null 
}; 



var github = { 
    githubApiUrl: "https://api.github.com", 

    getUserData: function(userName) { 
     $.getJSON(this.githubApiUrl + "https://stackoverflow.com/users/" + userName + "?callback=?", function(user) { 
      var currentUser = Object.create(githubUser); 
      currentUser = user.data; 
      console.log(currentUser.login); // this is where I want to be able to use autocompletion 
     }); 
    } 
}; 

github.getUserData("k0pernikus"); 
+1

不PHPStorm認識'Object.extend(currentUser,user.data)',而不是分配? – Bergi

+0

@Bergi由於我的代碼被包裝在jQuery中,我使用'$ .extend(currentUser,user.data)'intead並獲得了自動完成工作。你可以給我添加一個答案upvote並接受:) – k0pernikus

回答

3
currentUser = user.data; 

將覆蓋該值。從githubUser工作得到Object.create -inheritance,你需要

$.extend(currentUser, user.data);