从外部JSON文件创建javascript变量

从外部JSON文件创建javascript变量,javascript,json,d3.js,Javascript,Json,D3.js,我需要创建一个javascript变量,该变量的作用与我硬编码时相同 var test = [{"first" : "second"}]; 等等。但是,我需要从外部的local.json文件加载数据,并将该数据设置为变量。我做了很多不同的尝试,比如 var test; jQuery.ajax({ 'async': false, 'global': false, 'url': "sequence.json", 'dataType':

我需要创建一个javascript变量,该变量的作用与我硬编码时相同

var test = [{"first" : "second"}];
等等。但是,我需要从外部的local.json文件加载数据,并将该数据设置为变量。我做了很多不同的尝试,比如

var test;
jQuery.ajax({
        'async': false,
        'global': false,
        'url': "sequence.json",
        'dataType': "json",
        'success': function (data) {
            test = data;
        }
    });

但是,在所有情况下,原始测试变量都不会被设置为硬编码为JSON对象。通常,我甚至无法设置test的值。如果您的ajax响应类似于data=[{“first”:“second”},那么什么是解决这个问题的好方法;然后你可以得到你的价值如下。但是json格式是不同的,那么您必须首先指定您的格式

    var test;
    jQuery.ajax({
            'async': false,
            'global': false,
            'url': "sequence.json",
            'dataType': "json",
            'success': function (data) {
                data = [{"first" : "second"}];
                test = data;
                for(var i in test){
                console.log(test[i].first);
                alert(data[i]);
                }
            }
        });

您能否在
success
回调中设置断点,并查看ajax调用是否调用它?这应该可以工作。请记住,在加载数据之前,
test
为空。因此,如果在调用
success
之前,您正在
console.log
ing它–或者运行依赖它的任何代码–则会得到null。