可以从 C# 类库返回 Json 数据
本文关键字:返回 Json 数据 类库 | 更新日期: 2023-09-27 18:33:31
我正在创建一个报告,该报告需要将列表和 Json 数据返回到网页。我正在使用多层应用程序。Web 项目是使用 MVC 创建的,但繁重的工作是在单独项目的类库中完成的。
我正在从类库将报表对象返回到我的控制器,但我想知道是否可以在模型中返回 Lists和 Json 的混合?理想情况下,我希望报表模型类似于以下内容:
public class Report
{
public List<TopSellers> TopSellers { get; set; }
public List<MonthlySales> MonthlySales { get; set; }
public Json ShopSales { get; set; }
}
这样,列表内容可以正常呈现,但 jQuery 可以获取返回的 Json 来呈现我正在使用的图形。
这可能吗?
我试图声明它与此类似,但是我得到的唯一选择是"JsonReaderWriterFactory"。
到目前为止,我对 Json 的曝光一直为零,所以如果有人可以帮助我,或者为我指出正确的方向,我将不胜感激!
谢谢。
可以使用
JSON.net 库将对象序列化为 json 字符串,并将其设置为 ShopSales 属性。
http://json.codeplex.com/
report.OriginalList = objectToSerialize;
var jsonStr = JsonConvert.Serialize(objectToSerialize);
report.ShopSales = jsonStr;
return report;
在客户端上,您可以将 ShopSales 属性与 jQuery 一起使用。
我在这里看到的唯一方法(我也采用过一次)是在类库中创建一个 HTTP 处理程序,该处理程序拦截某些请求并直接将 JSON 写入响应(JSON.net 值得一看)。
除了 HTTP 处理程序之外,您还可以查看是否可以直接利用内置 ASP.net 路由机制。
然后,您的类库显然必须添加为对前端项目(即 ASP.net MVC/WebForms)的引用,并且处理程序必须在那里注册。