C# 在ASP.NET中将数据解析为Json返回时出错

C# 在ASP.NET中将数据解析为Json返回时出错,c#,asp.net,json,C#,Asp.net,Json,我是ASP.NET新手。我在WebAPI控制器中返回数据时做过Json解析,如下所示, ` public JsonResult getResult() { 字符串dataconfig=Convert.ToString(ConfigurationManager.connectionString[“Onviodb”]); SqlConnection cnn=新的SqlConnection(dataconfig); SqlCommand cmd=null; 字符串sqlQuery=null; SqlD

我是ASP.NET新手。我在WebAPI控制器中返回数据时做过Json解析,如下所示, `

public JsonResult getResult()
{
字符串dataconfig=Convert.ToString(ConfigurationManager.connectionString[“Onviodb”]);
SqlConnection cnn=新的SqlConnection(dataconfig);
SqlCommand cmd=null;
字符串sqlQuery=null;
SqlDataReader=null;
var list=新列表();
尝试
{
cnn.Open();
sqlQuery=“从tbl\U项目中选择*”;
cmd=新的SqlCommand(sqlQuery,cnn);
dataReader=cmd.ExecuteReader();
while(dataReader.Read())
{
onvioAPI od=newonvioapi();
//od.id=Int32.Parse(dr[“id”].ToString());
od.aname=Convert.ToString(数据阅读器[“机构联系人姓名]);
od.vname=Convert.ToString(数据读取器[“供应商名称]);
od.pcity=Convert.ToString(dataReader[“项目城市]);
od.pstate=Convert.ToString(dataReader[“项目状态]);
od.vcity=Convert.ToString(dataReader[“供应商城市]);
列表。添加(od);
}
cnn.Close();
}
捕获(例外情况除外)
{
Console.WriteLine(“无法打开连接!”+ex);
}
返回Json(列表,JsonRequestBehavior.AllowGet);
}
`

但是有一个错误显示为
Json的最佳重载方法匹配(列表,JsonSerializerSettings)有一些无效的aruguments
。 我该怎么办? 提前感谢

试试这个

List<onvioAPI> list = new List<onvioAPI>();
List List=新列表();

这应该是可行的。

之所以会这样,是因为有两种
JsonResult
类型:一种来自
System.Web.Mvc
命名空间(带有
enum JsonRequestBehavior
),另一种来自
System.Web.Http.Results
JsonResult
),我想你把它们弄混了。解决方案是这样做:

using System.Web.Http;
//using System.Web.Mvc;

    public IHttpActionResult getResult() 
    {
        //your code..
        var list = new List<onvioAPI>();
        //your code..
        return Json(list);
    }
使用System.Web.Http;
//使用System.Web.Mvc;
公共IHttpActionResult getResult()
{
//你的代码。。
var list=新列表();
//你的代码。。
返回Json(列表);
}
using System.Web.Http;
//using System.Web.Mvc;

    public IHttpActionResult getResult() 
    {
        //your code..
        var list = new List<onvioAPI>();
        //your code..
        return Json(list);
    }