可以从 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 的曝光一直为零,所以如果有人可以帮助我,或者为我指出正确的方向,我将不胜感激!

谢谢。

可以从 C# 类库返回 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)的引用,并且处理程序必须在那里注册。