【问题标题】:How to get autocompletion of JSON responses of API calls within JavaScript?如何在 JavaScript 中自动完成 API 调用的 JSON 响应?
【发布时间】:2012-09-23 07:38:01
【问题描述】:

我正在玩弄 gihub api,想知道有什么方法可以让 IDE 知道静态(在包含属性返回的意义上)J​​SON 响应,以便我可以使用自动完成功能。

我试图诱使 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 + "/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");

【问题讨论】:

  • PHPStorm 能识别Object.extend(currentUser, user.data) 而不是赋值吗?
  • @Bergi 因为我的代码被包裹在 jQuery 中,所以我使用了 $.extend(currentUser, user.data) intead 并让自动完成功能正常工作。您可以添加一个答案让我投票并接受:)

标签: javascript json autocomplete getjson phpstorm


【解决方案1】:
currentUser = user.data;

覆盖该值。要使githubUserObject.create-inheritance 正常工作,您需要

$.extend(currentUser, user.data);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-30
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-18
    • 1970-01-01
    • 2010-12-08
    • 2012-10-08
    相关资源
    最近更新 更多