Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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
Javascript 未使用来自JSONP API的信息创建对象_Javascript_Jquery_Json_Api - Fatal编程技术网

Javascript 未使用来自JSONP API的信息创建对象

Javascript 未使用来自JSONP API的信息创建对象,javascript,jquery,json,api,Javascript,Jquery,Json,Api,我对jQuery和Javascript比较陌生,我正在尝试使用从API接收到的信息创建一个对象。对于数组users中的每个用户,该对象应该包含基本信息的对象。为此,我为每个用户调用一个API,然后将json传递给应该创建其属性的构造函数。但是,当我运行代码时,对象只有一个name属性。而且只针对第一个用户,而不是所有用户 有人能告诉我我做错了什么吗 代码如下: $(文档).ready(函数(){ 变量url=”https://wind-bow.gomix.me/twitch-api/strea

我对jQuery和Javascript比较陌生,我正在尝试使用从API接收到的信息创建一个对象。对于数组
users
中的每个用户,该对象应该包含基本信息的对象。为此,我为每个用户调用一个API,然后将json传递给应该创建其属性的构造函数。但是,当我运行代码时,对象只有一个name属性。而且只针对第一个用户,而不是所有用户

有人能告诉我我做错了什么吗

代码如下:

$(文档).ready(函数(){
变量url=”https://wind-bow.gomix.me/twitch-api/streams/";
var用户=[“ESL_SC2”、“OgamingSC2”、“cretetion”、“freecodecamp”、“storbeck”、“habathcx”、“RobotCaleb”、“Noobs2nijas”];
var streamersObj={};
对于(var i=0;i});您正在创建一个字符串,然后为该字符串指定属性。尝试:

 function StreamerObjCreate (jsonObj, name) {
   streamersObj[name] = {
     name: jsonObj.name,
     onStream: jsonObj.stream,
     channel: jsonObj._links.channel,
     stream: jsonObj._links.self
   }
   console.log(streamersObj);    
} 

似乎每次都在connectToApi函数中重写url变量。试试这个

function connectToApi (target) {
    var targetUrl = url + target + "?" + "callback=?";
    $.getJSON(targetUrl, function (json) {
        StreamerObjCreate(json, target);
    });
} 

只是一个注释:$.getJSON函数不向回调函数发送JSON,所以不要使用“JSON”作为变量名,这会让人困惑。更准确的说法是“数据”。