Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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 JSON的简单存储。是否在数组中获取结果?_Javascript_Jquery_Asp.net Mvc_Json - Fatal编程技术网

Javascript JSON的简单存储。是否在数组中获取结果?

Javascript JSON的简单存储。是否在数组中获取结果?,javascript,jquery,asp.net-mvc,json,Javascript,Jquery,Asp.net Mvc,Json,简单地说,我试图从json get方法创建一个字符串数组。该方法返回一个列表,该列表来自MVC控制器方法,JsonResult output(string centreName),在我的javascript中,我有以下内容: <script src="../../Content/jquery.js"></script> <script type="text/javascript"> jQuery(function () {

简单地说,我试图从json get方法创建一个字符串数组。该方法返回一个列表,该列表来自MVC控制器方法,
JsonResult output(string centreName)
,在我的javascript中,我有以下内容:

    <script src="../../Content/jquery.js"></script>
    <script type="text/javascript">
        jQuery(function () {
            jQuery("#centres").change(function () {
                var _this = jQuery(this);
                var selectedCentre = _this.val();
                $.getJSON("/Centres/output?centreName=" + selectedCentre, 
function(results) {
    // store the results here in a new array, so I can do something with them
                });
            });
        });
    </script>

jQuery(函数(){
jQuery(“#centers”).change(函数(){
var_this=jQuery(this);
var selectedcenter=_this.val();
$.getJSON(“/centers/output?centreName=“+selectedcenter,
职能(结果){
//将结果存储在一个新数组中,这样我就可以处理它们了
});
});
});
现在,上面所有的代码都工作得非常好,我只是不知道如何正确地处理结果。如何制作一个好的“字符串数组[]=results”之类的东西

编辑

这是需要结果作为字符串数组的方法:

document.getElementById("container2").innerHTML = "";
                        var div;
                        for (var i = 0; i < document.getElementById("centres").value; i++) {
                            div = document.createElement("div");
                            div.className = "class1";
                            div.innerHTML = "Shop " + data[i];
                            div.innerHTML += "<br>";
                            div.innerHTML += "Floor Space: <b>" + spaces[i] + " m2 </b>";
                            div.style.width = "100px";
                            div.style.height = "100px";
                            div.style.padding = "0px";
                            div.style.float = "left";
                            document.getElementById("container2").appendChild(div);
                        }
document.getElementById(“container2”).innerHTML=“”;
var-div;
对于(var i=0;i”;
div.innerHTML+=“楼层空间:”+空间[i]+“m2”;
div.style.width=“100px”;
div.style.height=“100px”;
div.style.padding=“0px”;
div.style.float=“左”;
文件.getElementById(“容器2”).appendChild(div);
}

如您所见,我需要遍历每个车间代码(数据[I])。我该怎么做?

您不需要将其存储在一个漂亮的“字符串数组[]”中。NET JSON序列化程序应该为您序列化JSON,这基本上是一种类似数组的结构。直接访问结果即可

$.getJSON("/Centres/output?centreName=" + selectedCentre, function(results) {
    var data = results;

    // You can iterate over the data (or results directly) and manipulate it as needed
});

在json宇宙中,列表和数组是相同的。对于
列表
,没有特定的实现,您只有数组。除非服务器返回单个对象,否则,
results
可能已经是一个对象数组

如果试图从对象中提取特定字段,可以使用语句迭代数组并获取必要的信息

$.each(results, function(index, element) {
  // your logic here
}
编辑

如果
results
是一个字符串数组,并且需要将它们转换为单个字符串,则可以使用
join
方法

var results = ["Banana", "Orange", "Apple", "Mango"];
var joinedString = results.join();
//joinedString = 'Banana,Orange,Apple,Mango'
如果需要选择不同的分隔符,可以使用这种方法

var results = ["Banana", "Orange", "Apple", "Mango"];
var joinedString = results.join(' and ');
//joinedString = 'Banana and Orange and Apple and Mango'

如果您的Web服务返回一个数据数组,
results
已经是一个数组了。但是我如何遍历一个数组,例如var data=results?我在想一些关于for(int I=0;I。每个都是迭代
结果的方法
无需将其分配给
数据
。结果是字符串数组吗?可以发布
results
structure吗?results是一个来自我的JsonResult方法的函数,在该方法中我返回Json(shops,JsonRequestBehavior.AllowGet);哪里有商店是一张单子。需要此数组的javascript函数需要与结果[i]类似的内容。在这种情况下,您将需要
$。每个(结果[0],…
我将在我的原始帖子中发布我的javascript方法,以便大家可以看到我正在尝试做什么。感谢您的耐心等待!