Javascript 从函数返回后,对象结构发生更改
所以我用一个函数获取json,然后将它返回给多个请求json数据的函数Javascript 从函数返回后,对象结构发生更改,javascript,json,getjson,Javascript,Json,Getjson,所以我用一个函数获取json,然后将它返回给多个请求json数据的函数 function getJSON(){ var jsonData; jsonData = $.getJSON("../assets/json-feed/file.json", function(json){ jsonData = json.data; //removes initial {} capsulation return jsonData
function getJSON(){
var jsonData;
jsonData = $.getJSON("../assets/json-feed/file.json", function(json){
jsonData = json.data; //removes initial {} capsulation
return jsonData;
});
return jsonData;
}
当我执行内部返回时,控制台日志中的对象是object{readyState:1}
,我必须向下挖掘另一个级别到一个名为responseJSON:object
的键才能找到我的数据。我期待的是对象{name:“重要标题名”,mod:“长编号”,key1:Object,key2:Object,key3:Object…}
而不是以前的格式
我如何避免对象结构中的这种变化,或者这是对象返回时经常发生的事情?有没有更有效的方法返回保留原始结构的对象?异步函数(getJSON)不能同步处理。异步方式:
function getJSON(callback){
$.getJSON("../assets/json-feed/file.json", function(json){
callback(json.data); //removes initial {} capsulation
});
}
这样使用:
getJSON(console.log);