是否可以使用PetaPoco动态查询在ASP.net WebAPI中返回Json?
//WebAPI控制器
public class BranchController : ApiController
{
public IEnumerable<dynamic> Get()
{
// Create a PetaPoco database object
var db = new PetaPoco.Database("DefaultConnection");
// Show all Branches
var b = db.Query<dynamic>("SELECT * FROM Branches").ToList();
return b;
}
}我收到一个错误
要使XML可序列化,从IEnumerable继承的类型必须具有Add(System.Object)的实现。
发布于 2012-04-19 18:11:14
JSON.Net不加限制地处理这个问题,所以我不得不添加一个自定义格式化程序。
这是我用来解决这个问题的MSDN文章:http://code.msdn.microsoft.com/Using-JSONNET-with-ASPNET-b2423706
发布于 2012-04-19 14:46:22
由于PetaPoco返回一个List<dynamic>,这里的真正答案是“WebApi是否可以从列表中返回Json”
答案是肯定的,但是WebApi有一个叫做内容协商的东西,而不是根据请求返回Json或XML。
尝试请求Json或对XML进行以下尝试:
// Show all Branches
return (IEnumerable<dynamic>)db.Query<dynamic>("SELECT * FROM Branches");https://stackoverflow.com/questions/10214969
复制相似问题