ASP.NET:在服务器资源管理器的数据库中导入 JSON 文件



我创建了一个 ASP.NET 的MVC项目。我已经制作了控制器和模型。现在我想将 JSON 文件导入我的本地数据库。

这可能吗,怎么可能?

我的模型:

public class Adres
{
    public int Id { get; set; }
    public DateTime Date { get; set; }
    public float Latitude { get; set; }
    public float Longitude { get; set; }
    public string Address { get; set; }
}

JSON示例:

[{"SubmissionId":1,"Date":"2014-07-15 17:53:02.127","Latitude":52.385,"Longitude":4.636,"Address":"AH Kruisstraat 10, Haarlem "},
{"SubmissionId":2,"Date":"2014-07-15 15:46:19.627","Latitude":52.382,"Longitude":4.857,"Address":"AH: Bos en Lommerweg 117, Amsterdam,"}]
下面是

一个示例,它使用 jQuery 将 JSON 数据发送到控制器,并使用经典 ADO.NET 和存储过程将记录插入数据库:

控制器:

public class Adres
{
    public int Id { get; set; }
    public DateTime Date { get; set; }
    public float Latitude { get; set; }
    public float Longitude { get; set; }
    public string Address { get; set; }
}
public class HomeController : Controller
{
    public ActionResult JsonExample()
    {
        return View();
    }
    [HttpPost]
    public ActionResult SaveToDatabase(Adres adres)
    {
        adres.Date = DateTime.Now;
        string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
        using (var connection = new SqlConnection(connectionString))
        {
            connection.Open();
            using(var command = new SqlCommand("InsertAdres",connection))
            {
                command.CommandType = System.Data.CommandType.StoredProcedure;
                command.Parameters.AddWithValue("@Date",adres.Date);
                command.Parameters.AddWithValue("@Latitude",adres.Latitude);
                command.Parameters.AddWithValue("@Longitude",adres.Longitude);
                command.Parameters.AddWithValue("@Address",adres.Address);
                command.ExecuteNonQuery();
            }
            connection.Close();
        }
        return View();
    }
}

视图:

@{
    ViewBag.Title = "JsonExample";
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script type="text/javascript">
    $(function () {
        $("#btnSaveJson").click(function () {
            var adres = {
                Id: 1,
                Latitude: 155.77,
                Longitude: 245.99,
                Address: $("#txtAddress").val()
            };
            $.ajax({
                url: '/Home/SaveToDatabase',
                type: 'post',
                dataType: 'json',
                success: function (data) {
                    alert("Saved to database, notify user...");
                },
                data: adres
            });
        });
    })
</script>
<input type="text" id="txtAddress" value="221B Baker street" />
<input type="button" value="Save Json To Database" id="btnSaveJson" />

最新更新