2017-03-21 28 views
0

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

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

我想我必须使用一些C#代码以及得到这个工作,但我不知道。

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

我花了一些时间在下面,但它不是我期待的...

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

回答

2

看看可自由上的NuGet的Newtonsoft.Json包。

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

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

2

看是否有此帮助:

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

它isn't从一个IQueryable而是来自一个DataTable,但返回的类型是你在寻找什么。

[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); 
} 

干杯!

2

如果我理解正确,您希望将LINQ数据输出到JSON。

  1. 首先转换到LINQ数据表使用代码使用详细的方法呈现here

  2. 转换数据表,以JSON here 同样在数据表到JSON类似的问题得到解答here