亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c# - 如何將 json 數據存儲到 MySQL 中

c# - 如何將 json 數據存儲到 MySQL 中

C#
大話西游666 2021-11-14 17:18:08
我的 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 中。
查看完整描述

3 回答

?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

這里的解決方案:


var persons = JsonConvert.DeserializeObject<List<Member>>(response);

現在您可以循環瀏覽如下項目。


foreach(Member person in persons )

{

    // 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


查看完整回答
反對 回復 2021-11-14
?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

如果您的 json 包含 0.....N 人,那么BatchUpdate這對您來說是一個很好的解決方案,如果您有性能要求,這可能會減少您的數據庫往返


以下方法包含樣本 BatchUpdate


public void BatchUpdateToMySqlServer()

{

    var persons = JsonConvert.DeserializeObject<List<Member>>(response);


    DataTable dt = new DataTable();

    dt.Columns.Add(new DataColumn("res_order_num", typeof(System.String)));

    dt.Columns.Add(new DataColumn("menu_code", typeof(System.String)));

    dt.Columns.Add(new DataColumn("menu_quantity", typeof(System.String)));

    dt.Columns.Add(new DataColumn("menu_total_price", typeof(System.String)));

    dt.Columns.Add(new DataColumn("res_no", typeof(System.String)));

    dt.Columns.Add(new DataColumn("menu_name", typeof(System.String)));


    foreach (var item in persons)

    {

        DataRow dr = dt.NewRow();

        dr["res_order_num"] = item.res_order_num;

        dr["menu_code"] = item.menu_code;

        dr["menu_quantity"] = item.menu_quantity;

        dr["menu_total_price"] = item.menu_total_price;

        dr["res_no"] = item.res_no;

        dr["menu_name"] = item.menu_name;

        dt.Rows.Add(dr);

    }



    MySqlConnection con = new MySqlConnection("Your Connection String");

    if (con.State == ConnectionState.Open)

    {

        con.Close();

    }

    con.Open();

    MySqlCommand cmd = new MySqlCommand("Your Insert Command", con);

    cmd.CommandType = CommandType.Text;


    cmd.UpdatedRowSource = UpdateRowSource.None;


    MySqlDataAdapter da = new MySqlDataAdapter();

    da.InsertCommand = cmd;

    da.UpdateBatchSize = 100000; //If you json contains 100000 persons object;

    int records = da.Update(dt);

    con.Close();

}

如果您必須使用StoedProcedure作為插入命令,這里是好文章。


查看完整回答
反對 回復 2021-11-14
?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

沒有附加信息;您似乎沒有太多現有代碼。如果您正在嘗試開始使用 c# 將數據保存到 MySQL 數據庫;Microsoft 提供了本教程。但是,沒有其他信息,沒有多少人可以回答這個問題。

教程:https : //msdn.microsoft.com/en-us/library/0f92s97z.aspx

如果您包含以下內容,人們可能會給出更好的答案:

  • 您是否有讀取或寫入 MySQL 的現有代碼?

  • 您是否設置了 MySQL 數據庫?

  • 您的數據庫是否具有與 JSON 中表示的數據匹配的表?


查看完整回答
反對 回復 2021-11-14
  • 3 回答
  • 0 關注
  • 928 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號