我的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中。
答案 0 :(得分:2)
解决方法:
var persons = JsonConvert.DeserializeObject<List<Member>>(response);
现在您可以遍历以下项目。
foreach(Member person in persons )
{
// add to db your each person
}
,这里介绍如何插入db: 对于ADO.Net:https://msdn.microsoft.com/en-us/library/ms233812.aspx
对于EntityFramework:https://msdn.microsoft.com/en-us/library/ee712907(v=vs.113).aspx
答案 1 :(得分:0)
没有其他信息;看来您没有太多现有代码。如果您要开始使用c#将数据保存到MySQL数据库,请尝试; Microsoft提供了本教程。但是,没有其他信息,没有多少人可以回答这个问题。
教程:https://msdn.microsoft.com/en-us/library/0f92s97z.aspx
如果您包括以下内容,人们可能会给出更好的答案:
答案 2 :(得分:0)
如果您的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
作为插入命令,Here是不错的文章。