Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
服务器没有';t从远程RESTAPI获取所有JSON_Json_Api_Http_Go_Server - Fatal编程技术网

服务器没有';t从远程RESTAPI获取所有JSON

服务器没有';t从远程RESTAPI获取所有JSON,json,api,http,go,server,Json,Api,Http,Go,Server,我的Go服务器不会从远程API检索所有JSON数据 我甚至尝试创建一个定制的http.Client来发出请求……但它仍然无法检索所有JSON数据,甚至尝试延长相应的超时时间 这是我的密码: var netTransport = &http.Transport{ Dial: (&net.Dialer{ Timeout: 50 * time.Second, }).Dial, TLSHandshakeTimeout

我的Go服务器不会从远程API检索所有JSON数据

我甚至尝试创建一个定制的http.Client来发出请求……但它仍然无法检索所有JSON数据,甚至尝试延长相应的超时时间

这是我的密码:

var netTransport = &http.Transport{
        Dial: (&net.Dialer{
            Timeout: 50 * time.Second,
        }).Dial,
        TLSHandshakeTimeout: 50 * time.Second,
    }
    var netClient = &http.Client{
        Timeout:   time.Second * 40,
        Transport: netTransport,
    }
    res, getErr := netClient.Get(url)

    if getErr != nil {
        log.Fatal(getErr)
    }
    data := JSONData{}
    if err := json.NewDecoder(res.Body).Decode(&data); err != nil {
        log.Fatal(err)
    }
    data.Username = user
    fmt.Println(data)
JSONData的定义如下:

type Owner struct {
    Login string
}

// Item is the single repository data structure
type Item struct {
    ID          int
    Name        string
    FullName    string `json:"full_name"`
    Owner       Owner
    Description string
    CreatedAt   string `json:"created_at"`
}

// JSONData contains the GitHub API response
type JSONData struct {
    Count    int `json:"total_count"`
    Username string
    Items    []Item
}

JSONData
需要定义JSON标记

类型所有者结构{
登录字符串`json:“登录”`
}
//项是单个存储库数据结构
类型项结构{
ID int`json:“ID”`
名称字符串`json:“名称”`
全名字符串`json:“全名”`
Owner`json:“Owner”`
Description字符串`json:“Description”`
CreatedAt字符串`json:“已创建”`
}
//JSONData包含GitHub API响应
类型JSONData结构{
Count int`json:“总计数”`
用户名字符串`json:“用户名”`
Items[]Item`json:“Items”`
}

如果未指定标记,则名称按原样:

类型所有者结构{
登录字符串
}
这将被编组(并相应地取消编组)为类似的:

{“登录”:“某些登录”}

您是如何定义
JSONData
的?还要将JSON文档添加到问题中。这是对GItHub API的查询,如下所示(例如我自己的用户名)..我的不是很大,所以它可以得到所有的json…但是对于像microsoft这样的用户来说…它只能得到大约30条记录。不,它们实际上没有…你只需要对那些你对应的json键不同的记录这样做,例如FullName和“full_name”…这需要与JSON标记关联…而且Peter在上面的评论中已经给了我所需的解决方案..这不是我的代码,而是GitHub的行为。。但是谢谢你花时间回答我的问题!!!你说得对。我试着去解开它,令我惊讶的是,它成功了。谢谢你指出这一点,这对我来说是新闻。尽管如此,我还是认为将标签放在里面通常是好的,原因有两个。首先,您可以固定JSON字段名,即使名称发生更改。第二,不带标记的封送将导致首字母大写。是的,那是真的……谢谢你