C# 来自SQL Server的json格式响应是如何工作的?
我有一个以json形式返回查询结果的存储过程,我想了解这个查询如何在ASP.NET应用程序中访问我的代码 存储过程:C# 来自SQL Server的json格式响应是如何工作的?,c#,sql,asp.net,json,C#,Sql,Asp.net,Json,我有一个以json形式返回查询结果的存储过程,我想了解这个查询如何在ASP.NET应用程序中访问我的代码 存储过程: Select SUBJECT AS [subject], STARTDATE AS [start] ENDDATE AS [end], ID AS [id] FROM SOME_TABLE FOR JSON PATH [ { "subject": _, "start": _, "end":_
Select
SUBJECT AS [subject],
STARTDATE AS [start]
ENDDATE AS [end],
ID AS [id]
FROM
SOME_TABLE
FOR JSON PATH
[
{
"subject": _,
"start": _,
"end":_,
"id":_
},
...]
存储过程中的Json格式:
Select
SUBJECT AS [subject],
STARTDATE AS [start]
ENDDATE AS [end],
ID AS [id]
FROM
SOME_TABLE
FOR JSON PATH
[
{
"subject": _,
"start": _,
"end":_,
"id":_
},
...]
aspx.cs代码隐藏
(来自函数的片段)
我想在我的代码中存储这个json响应,但我不知道如何存储。在做出json响应之前,我使用SqlDataReader
和Read()
遍历每个记录,但是如果响应现在是json,这将如何工作;是否还有另一个类专门处理json响应
请澄清 读取SQL查询返回结果后,可以将结果存储到数组中。然后,使用json_encode函数以json格式输出结果 比如说,
int [] marks = new int[] { 99, 98, 92, 97, 95};
var jsonSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
string json = jsonSerializer.Serialize(marks);
public class JsonModel {
public int id {get;set;}
public DateTime start {get;set;}
public DateTime end {get;set;}
public string subject {get;set;}
}
string json = String.Empty;
using (SqlConnection connection = new SqlConnection("... your connection string ...") {
connection.Open();
using (SqlCommand command = new SqlCommand("SELECT FROM... FOR JSON PATH", connection) {
json = command.ExecuteScalar();
}
}
var JsonModel model = JsonConvert.DeserializeObject<JsonModel>(json);
var JsonModel model=JsonConvert.DeserializeObject(json);
您的意思是JSON存储在SQL Server中,并且您正在通过SqlDataReader从数据库中检索它吗?您可以使用JSON.NET将JSON字符串转换为CLR对象类型@ChetanRanpariya我有一个以JSON格式返回查询的存储过程,我想知道如何将该数据获取到我的ASP.NET应用程序中。我以前使用过SqlDataReader,但现在对我不起作用。您可以共享存储过程返回的示例JSON吗?这很有用,但我目前的问题是我不知道如何获取sql查询返回结果。我尝试过使用SqlDataReader,但不起作用。我将分享一段代码片段,也许会有所帮助。@JonathanPortorreal:忘记DataReader吧
var json=sccmd.ExecuteScalar()
另外,您应该真正使用的是,而不是JavaScriptSerializer。