【问题标题】:ASP.NET: Import JSON file in DB in server explorerASP.NET:在服务器资源管理器中的数据库中导入 JSON 文件
【发布时间】:2016-06-07 10:22:44
【问题描述】:

我创建了一个 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,"}]

【问题讨论】:

  • 数据是如何发送到控制器的?

标签: c# asp.net json asp.net-mvc


【解决方案1】:

这是一个使用 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" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多