Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.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
C# 遍历JSOn结果_C#_Ajax_Json - Fatal编程技术网

C# 遍历JSOn结果

C# 遍历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

我有一个从ajax调用的WebMethod,试图遍历返回的数据。返回的数据为“{BusinessTypeID=2}”。我想知道如何得到值2

        //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;