【发布时间】:2019-02-05 01:47:32
【问题描述】:
我正在使用 SQL Server 2008 R2,我想在 ASP.NET 中构建一个 Web 表单,该表单在我的数据库上运行 SELECT 命令并从中创建一个 json。
这是我的代码:
using (SqlConnection connection = new SqlConnection(ConnectionString))
{
String query = "SELECT * FROM dbo.apartments FOR JSON";
using (SqlCommand command = new SqlCommand(query, connection))
{
connection.Open();
var jsonResult = new StringBuilder();
var reader = command.ExecuteReader();
if (!reader.HasRows)
{
jsonResult.Append("[]");
}
else
{
while (reader.Read())
{
jsonResult.Append(reader.GetValue(0).ToString());
}
}
connection.Close();
}
}
当我运行它时,我得到了这个错误:
异常详细信息:System.Data.SqlClient.SqlException:“JSON”附近的语法不正确。
【问题讨论】:
-
FOR JSON在查询字符串中做了什么?另外我不建议手动创建 JSON,而是尝试对象序列化(即 JSON.NET) -
FOR JSON是 SQL Server 2016 中的新功能,在早期版本中不可用
标签: c# sql asp.net .net sql-server