【问题标题】:Using JSON and REST web service that outputs the contents of a database使用输出数据库内容的 JSON 和 REST Web 服务
【发布时间】:2017-08-13 01:15:01
【问题描述】:

我已经使用 JSON 和 REST 创建了一个 Web 服务。我想知道的是如何使用该服务输出本地数据库的内容?

我正在使用 Visual Studio 2015、ASP.NET Web 窗体和 LINQ 数据源。

我认为我还必须使用一些 c# 代码才能使其正常工作,但我不确定。

我尝试了不同的方法,但似乎找不到正确的解决方案。

我在以下方面花了一些时间,但这不是我想要的......

http://williamsportwebdeveloper.com/cgi/wp/?p=494

【问题讨论】:

    标签: c# asp.net json rest visual-studio-2015


    【解决方案1】:

    如果我理解正确,你想将 LINQ 数据输出到 JSON。

    1. 首先使用 here 提供的代码将 LINQ 转换为数据表

    2. 使用详细here 的方法将 DataTable 转换为 JSON 还有一个类似的关于 DataTable to JSON 的问题得到了回答here

    【讨论】:

      【解决方案2】:

      看看是否有帮助:

      http://andre-pedroso.blogspot.pt/2013/03/endpoint-on-aspnet-page-returning-json.html

      它不是来自 IQueryable 而是来自 DataTable,但返回类型是您要查找的。​​p>

      [System.Web.Services.WebMethod]
      public static string GetData()
      {
          DataTable dt = GetDataTable();
      
          return BuildJSONFromDT(dt);
      }
      
      private static string BuildJSONFromDT(DataTable dt)
      {
          JavaScriptSerializer serializer = new JavaScriptSerializer();
      
          List<object> resultMain = new List<object>();
      
          foreach (DataRow row in dt.Rows)
          {
              Dictionary<string, object> result = new Dictionary<string, object>();
              foreach (DataColumn column in dt.Columns)
              {
                  result.Add(column.ColumnName, "" + row[column.ColumnName]);
              }
      
              resultMain.Add(result);
          }
      
          return serializer.Serialize(resultMain);
      }
      

      干杯!

      【讨论】:

        【解决方案3】:

        看看 NuGet 上免费提供的 Newtonsoft.Json 包。

        您可以使用 Newtonsoft.Json.JsonConvert.SerializeObject(object) 方法返回作为字符串提供的对象参数的 JSON 表示形式。
        这可以按原样返回给 Web 服务的用户。

        由于您使用的是 LINQ,我假设您已经设置了包括类在内的数据结构,因此您可以连接到数据库,处理结果以创建对象,最后使用SerializeObject(object) 方法将根对象序列化为 JSON 以返回给 Web 服务的用户。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-12-07
          • 1970-01-01
          • 1970-01-01
          • 2013-11-21
          • 1970-01-01
          • 1970-01-01
          • 2014-02-24
          • 1970-01-01
          相关资源
          最近更新 更多