Javascript JSON的简单存储。是否在数组中获取结果?
简单地说,我试图从json get方法创建一个字符串数组。该方法返回一个列表,该列表来自MVC控制器方法,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 () {
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方法,以便大家可以看到我正在尝试做什么。感谢您的耐心等待!