原文链接
parse用于从一个字符串中解析出json对象,如
var str = '{"name":"huangxiaojian","age":"23"}'
结果:
JSON.parse(str)
Object
age: "23"
name: "huangxiaojian"
__proto__: Object
注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。
stringify()用于从一个对象解析出字符串,如
var a = {a:1,b:2}
结果:
JSON.stringify(a)
"{"a":1,"b":2}"
JSON.stringify(NeedProds)
"[{"Company_code":"DE00000057","Order_plan_id":"201603140124","Product_code":"R80070",
"Druggeneric_name":"阿托伐他汀钙片","Drug_trade_name":"阿乐",
"Company_name":"北京嘉林药业股份有限公司","Spec":"10mg*7片/盒","Package_spec":"240盒/件",
"Form_name":null,"Unit_name":null,"Order_count":34}]"
后台接收:
//要货计划查询页面 生成要货需求 public ActionResult AddNeedProds(string needprods) { ContentResult rs = new ContentResult(); var model = new DTPOrderPlanModel(); model.NeedProds = JsonConvert.DeserializeObject<List<DTPOrderPlan>>(needprods); if (model.NeedProds.Count < 0) { rs.Content = "{'success':false}"; } List<Redo> lst = new List<Redo>(); foreach (DTPOrderPlan need in model.NeedProds) { t_s_cust_need_product item = vCoop.t_s_cust_need_product.Where(m => m.company_code == need.Company_code && m.order_plan_id == need.Order_plan_id && m.product_code == need.Product_code).FirstOrDefault(); if (item != null) { lst.Add(new Redo { Order_plan_id = item.order_plan_id, Data_status = "该要货计划单号已经生成要货需求了!", Product_code = item.product_code, Interface_exec_time = item.make_time }); continue; } try { vCoop.t_s_cust_need_product.AddObject(new t_s_cust_need_product { id = System.Guid.NewGuid().ToString("N"), company_code = need.Company_code, order_plan_id = need.Order_plan_id, product_code = need.Product_code, druggeneric_name = need.Druggeneric_name, drug_trade_name = need.Drug_trade_name, spec = need.Spec, package_spec = need.Package_spec, form_name = need.Form_name, unit_name = need.Unit_name, company_name = need.Company_name, need_count = need.Order_count, make_time = System.DateTime.Now }); } catch (Exception vErr) { rs.Content = "{'success':false,'Error':" + vErr + "}"; } } try { int importSuccess = vCoop.SaveChanges(); rs.Content = "{'success':true}"; } catch (SqlException vErr) {//保存错误异常 rs.Content = "{'success':false,'SqlError':" + vErr + "}"; } //重复数据 if (lst.Count > 0) { rs.Content = "{'success':false,'RepeatingData':" + lst.ToJson() + "}"; } return rs; } }
[Serializable] public class DTPOrderPlanModel { private List<DTPOrderPlan> needprods = new List<DTPOrderPlan>(); public List<DTPOrderPlan> NeedProds { get { return needprods; } set { needprods = value; } } } public class DTPOrderPlan { public string Cooperate_code { get; set; } public string Company_code { get; set; } public string Order_plan_id { get; set; } public string Order_plan_detail { get; set; } public string Product_code { get; set; } public string Druggeneric_name { get; set; } public string Drug_trade_name { get; set; } public string Spec { get; set; } public string Package_spec { get; set; } public string Form_name { get; set; } public string Unit_name { get; set; } public string Company_name { get; set; } public string Approval_number { get; set; } public int? Order_count { get; set; } public decimal? Price { get; set; } public DateTime? Required_delivery_date { get; set; } public string Memo { get; set; } public string Co_version_timespan { get; set; } public DateTime? Interface_exec_time { get; set; } public string Data_status { get; set; } public string Erp_cust { get; set; } public string B2b_cust { get; set; } public string Cust_name { get; set; } public string B2b_drug { get; set; } public string Erp_drug { get; set; } public string Match_price { get; set; } //百洋产品信息 public string Erp_generic_name { get; set; } public string Erp_trade_name { get; set; } public string Erp_company_name { get; set; } }