C# 遍历JSOn结果
我有一个从ajax调用的WebMethod,试图遍历返回的数据。返回的数据为“{BusinessTypeID=2}”。我想知道如何得到值2C# 遍历JSOn结果,c#,ajax,json,C#,Ajax,Json,我有一个从ajax调用的WebMethod,试图遍历返回的数据。返回的数据为“{BusinessTypeID=2}”。我想知道如何得到值2 //Function called from ajax [System.Web.Services.WebMethod] public static string[] GetTerminalBusinessTypes(string terminalID) { DataClassesDataContext db = new DataCla
//Function called from ajax
[System.Web.Services.WebMethod]
public static string[] GetTerminalBusinessTypes(string terminalID)
{
DataClassesDataContext db = new DataClassesDataContext();
List<string> results = new List<string>();
try
{
var terminalBusinessTypes = (from bt in db.BusinessTypes
join obt in db.OxygenateBlenderBusinessTypes on bt.BusinessTypeID equals obt.BusinessTypeID
where obt.OxygenateBlenderID == Convert.ToInt32(terminalID)
select new
{
bt.BusinessTypeID
}).ToList();
for (int i = 0; i < terminalBusinessTypes.Count(); i++)
{
results.Add(terminalBusinessTypes[i].ToString());
}
}
catch (Exception ex)
{
}
return results.ToArray();
}
老实说,我看不出你的“索引”是在哪里定义的 警戒线不是应该读吗
$each(targetVale, function(key, item) {
// on second look, this wont work as you are converting toString()
alert(targetValue[key].BusinessTypeId)
// this should
alert(item)
});
你也可以抛出一个调试器;在警报上方的行中,查看正在遍历的值。当web服务返回json值时,asp.net将封装在一个对象中,键为
d
,值为json字符串。查看更多信息
必须将值字符串解析为json对象。使用jQuery(v1.4.1或更高版本):
您可能希望尝试从C#返回JSON字符串:
您确定返回的数据不是“{BusinessTypeID:2}”吗?如果是这样,您可以将其称为targetValue.BusinessTypeID或targetValue['BusinessTypeID'],我已经尝试过了,但没有成功。也许这就是我返回数据的方式?我现在正想弄明白。。。。
$each(targetVale, function(key, item) {
// on second look, this wont work as you are converting toString()
alert(targetValue[key].BusinessTypeId)
// this should
alert(item)
});
jQuery.parseJSON(targetValue);
public static **string** GetTerminalBusinessTypes(string terminalID)
...
var oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
string sJSON = oSerializer.Serialize(results);
return sJSON;