c# - 如何将 json 数据存储到 MySQL 中

我的 REST API 上有这个 JSON 数据,我想将它存储在我的 MySQL 服务器中


JSON 数据


[

    {

        "res_order_num": "1",

        "menu_code": "1",

        "menu_quantity": "2",

        "menu_total_price": "60",

        "res_no": "1",

        "menu_name": "Adobo Manok"

    },

    {

        "res_order_num": "2",

        "menu_code": "5",

        "menu_quantity": "2",

        "menu_total_price": "90",

        "res_no": "1",

        "menu_name": "Pritong Bangus"

    }

]

那么我如何将它存储在我的 MySQL 中。


大话西游666
浏览 868回答 3
3回答

摇曳的蔷薇

这里的解决方案:var persons = JsonConvert.DeserializeObject<List<Member>>(response);现在您可以循环浏览如下项目。foreach(Member person in persons ){&nbsp; &nbsp; // add to db your each person}这里怎么可以插入到数据库:为ADO.Net:https://msdn.microsoft.com/en-us/library/ms233812.aspx对于实体框架:https ://msdn.microsoft.com/en-us/library/ee712907( v= vs.113).aspx

千巷猫影

如果您的 json 包含 0.....N 人,那么BatchUpdate这对您来说是一个很好的解决方案,如果您有性能要求,这可能会减少您的数据库往返以下方法包含样本 BatchUpdatepublic void BatchUpdateToMySqlServer(){&nbsp; &nbsp; var persons = JsonConvert.DeserializeObject<List<Member>>(response);&nbsp; &nbsp; DataTable dt = new DataTable();&nbsp; &nbsp; dt.Columns.Add(new DataColumn("res_order_num", typeof(System.String)));&nbsp; &nbsp; dt.Columns.Add(new DataColumn("menu_code", typeof(System.String)));&nbsp; &nbsp; dt.Columns.Add(new DataColumn("menu_quantity", typeof(System.String)));&nbsp; &nbsp; dt.Columns.Add(new DataColumn("menu_total_price", typeof(System.String)));&nbsp; &nbsp; dt.Columns.Add(new DataColumn("res_no", typeof(System.String)));&nbsp; &nbsp; dt.Columns.Add(new DataColumn("menu_name", typeof(System.String)));&nbsp; &nbsp; foreach (var item in persons)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; DataRow dr = dt.NewRow();&nbsp; &nbsp; &nbsp; &nbsp; dr["res_order_num"] = item.res_order_num;&nbsp; &nbsp; &nbsp; &nbsp; dr["menu_code"] = item.menu_code;&nbsp; &nbsp; &nbsp; &nbsp; dr["menu_quantity"] = item.menu_quantity;&nbsp; &nbsp; &nbsp; &nbsp; dr["menu_total_price"] = item.menu_total_price;&nbsp; &nbsp; &nbsp; &nbsp; dr["res_no"] = item.res_no;&nbsp; &nbsp; &nbsp; &nbsp; dr["menu_name"] = item.menu_name;&nbsp; &nbsp; &nbsp; &nbsp; dt.Rows.Add(dr);&nbsp; &nbsp; }&nbsp; &nbsp; MySqlConnection con = new MySqlConnection("Your Connection String");&nbsp; &nbsp; if (con.State == ConnectionState.Open)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; con.Close();&nbsp; &nbsp; }&nbsp; &nbsp; con.Open();&nbsp; &nbsp; MySqlCommand cmd = new MySqlCommand("Your Insert Command", con);&nbsp; &nbsp; cmd.CommandType = CommandType.Text;&nbsp; &nbsp; cmd.UpdatedRowSource = UpdateRowSource.None;&nbsp; &nbsp; MySqlDataAdapter da = new MySqlDataAdapter();&nbsp; &nbsp; da.InsertCommand = cmd;&nbsp; &nbsp; da.UpdateBatchSize = 100000; //If you json contains 100000 persons object;&nbsp; &nbsp; int records = da.Update(dt);&nbsp; &nbsp; con.Close();}如果您必须使用StoedProcedure作为插入命令,这里是好文章。

一只斗牛犬

没有附加信息;您似乎没有太多现有代码。如果您正在尝试开始使用 c# 将数据保存到 MySQL 数据库;Microsoft 提供了本教程。但是,没有其他信息,没有多少人可以回答这个问题。教程:https&nbsp;:&nbsp;//msdn.microsoft.com/en-us/library/0f92s97z.aspx如果您包含以下内容,人们可能会给出更好的答案:您是否有读取或写入 MySQL 的现有代码?您是否设置了 MySQL 数据库?您的数据库是否具有与 JSON 中表示的数据匹配的表?
打开App,查看更多内容
随时随地看视频慕课网APP