Jon*_*eal 4 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
Run Code Online (Sandbox Code Playgroud)
存储过程中的Json格式:
[
{
"subject": _,
"start": _,
"end":_,
"id":_
},
...]
Run Code Online (Sandbox Code Playgroud)
aspx.cs代码隐藏
(来自函数的片段)
try
{
if (sqlcon.State == ConnectionState.Closed)
{
sqlcon.Open();
}
SqlCommand sccmd = new SqlCommand("MY_STORED_PROCEDURE", sqlcon);
sccmd.CommandType = CommandType.StoredProcedure;
sccmd.Parameters.AddWithValue("@value1", valueID);
sccmd.Parameters.AddWithValue("@value2", valueID);
SqlDataReader sdrreader = sccmd.ExecuteReader();
while (sdrreader.Read())
{
// lost on what to do here
}
sdrreader.Close();
}
catch (Exception ex){}
finally { sqlcon.Close(); }
Run Code Online (Sandbox Code Playgroud)
我想在我的代码中存储这个json响应,但我不知道如何.在做出响应json之前,我正在使用SqlDataReader它Read()来遍历每条记录,但如果响应现在是json,它将如何工作; 还有另一个专门处理json响应的类吗?
请澄清!
通过NuGet 安装JSON.NET.
创建一个代码模型来镜像你的json.
public class JsonModel {
public int id {get;set;}
public DateTime start {get;set;}
public DateTime end {get;set;}
public string subject {get;set;}
}
Run Code Online (Sandbox Code Playgroud)从数据库中获取json编码数据
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();
}
}
Run Code Online (Sandbox Code Playgroud)将其反序列化为您的模型
var JsonModel model = JsonConvert.DeserializeObject<JsonModel>(json);
Run Code Online (Sandbox Code Playgroud)喝龙舌兰酒,吃法加它!
| 归档时间: |
|
| 查看次数: |
1172 次 |
| 最近记录: |