zoukankan      html  css  js  c++  java
  • Jsonhelper类

      public static class JsonHelper
            {
                #region json转对象
                /// <summary>
                /// json转对象
                /// </summary>
                /// <param name="JsonText"></param>
                /// <returns></returns>
                public static T JsonToObject<T>(string JsonText) where T : class
                {
                    if (string.IsNullOrWhiteSpace(JsonText))
                    {
                        return null;
                    }
                    return JsonConvert.DeserializeObject<T>(JsonText);
                }
                public static List<T> JsonToListObject<T>(string JsonText) where T : class
                {
                    if (string.IsNullOrWhiteSpace(JsonText))
                    {
                        return null;
                    }
                    return JsonConvert.DeserializeObject<List<T>>(JsonText);
                }
                #endregion
    
                #region 对象转json
                /// <summary>
                /// 对象转json
                /// </summary>
                /// <param name="Object"></param>
                /// <returns></returns>
                public static string ObjectToJson(object Object)
                {
                    if (Object == null)
                    {
                        return null;
                    }
                    return JsonConvert.SerializeObject(Object);
                }
                #endregion
            }
        }

     上边需要添加nuget  Newtonsoft.Json的v包 下边不需要

      JavaScriptSerializer js = new JavaScriptSerializer();   //实例化一个能够序列化数据的类  0成功 -1失败
       ToJsonMy list = js.Deserialize<ToJsonMy>(str);
          public void PostDZFP()
            {
                string SMBH = "913001012";
                #region 赋值
                DataTable dt = DbHelperOra.Query("SELECT (SELECT XINGM FROM GLASS_HUIYXX WHERE HUIYBH=A.HUIYBH) XINGM,A.SHOUKDBH,A.SHISJE JINE,MONEY2CHINESE(A.SHISJE) DXJE,(SELECT XINGM FROM GLASS_USER WHERE BIANH=A.SHOUKR) CAOZY FROM GLASS_SHOUKD A WHERE SHOUKDBH='" + SKDBM + "'").Tables[0];
                DataTable dataitems = DbHelperOra.Query("SELECT A.SHANGPBH SP,B.MINGC MC,B.DANW DW,A.ZHUJ ZJ,A.QIUJ QJ,B.TIAOM TM,B.SPLEIX SPLX,( select LEIXMC from glass_spleix where LEIXBH=B.SPLEIX) SPLXMC,A.SHUL SL,A.DANJ DJ,A.ZHEK ZK,A.ZHEHDJ ZHDJ,A.ZHEHXJ ZHXJ,A.MOLING ML,A.HEJ XJ,(CASE A.ISZS WHEN 0 THEN '否' ELSE '是' END) ISZS,A.BEIZHU BZ FROM GLASS_XIAOSMX A,GLASS_SPXX B WHERE A.SHANGPBH=B.BIANH AND A.XIAOSDBH='" + XSDBH + "'").Tables[0];
                List<auxItemModel> ListauxItemModel = new List<auxItemModel>();
                for (int i = 0; i < dataitems.Rows.Count; i++)
                {
                    auxItemModel auxItemModel = new PankuSoft.Model.auxItemModel();
                    auxItemModel.auxItemCode = SMBH; //dataitems.Rows[i]["SP"].ToString();
                    auxItemModel.auxItemName = dataitems.Rows[i]["MC"].ToString();
                    auxItemModel.auxItemRelatedCode = SMBH;//dataitems.Rows[i]["SPLX"].ToString(); ;
                    auxItemModel.auxItemRelatedName = dataitems.Rows[i]["SPLXMC"].ToString(); 
                    auxItemModel.auxItemQuantity = dataitems.Rows[i]["SL"].ToString();
                    auxItemModel.auxItemUnit = dataitems.Rows[i]["DW"].ToString();
                    auxItemModel.auxItemStd = dataitems.Rows[i]["DJ"].ToString();
                    auxItemModel.auxItemAmount = dataitems.Rows[i]["XJ"].ToString();
                    auxItemModel.auxItemRemark = dataitems.Rows[i]["BZ"].ToString();
                    ListauxItemModel.Add(auxItemModel);
                }
                List<DZPJCREATEINVOICEITEMS> ListItem = new List<DZPJCREATEINVOICEITEMS>() ;
                DZPJCREATEINVOICEITEMS items = new DZPJCREATEINVOICEITEMS();
                items.itemCode = SMBH;
                items.itemName = "视光门诊";
                items.itemStd = Math.Round((Convert.ToDecimal(dt.Rows[0]["JINE"].ToString())/2),2).ToString();
                items.itemUnit = "";
                items.itemAmount = dataitems.Rows.Count.ToString();
                items.amount = dt.Rows[0]["JINE"].ToString();
                items.note = dataitems.Rows[0]["BZ"].ToString();
                items.auxItem = ListauxItemModel;
                ListItem.Add(items);
                DZPJCREATEINVOICE DZPJKP = new DZPJCREATEINVOICE()
                {
                    reqSource = "2",
                    placeCode = "",
                    patType = "1",
                    patNumber = SKDBM,
                    email = "",
                    phone = "",
                    idcardNo = "",
                    type = "1",
                    payerPartyType = "1",
                    payerPartyCode = "",
                    payerPartyName = dt.Rows[0]["XINGM"].ToString(),
                    payerAcct = "",
                    payerOpBk = "",
                    payMode = cmb_FKFS.Text == "支付宝" ? "4" : cmb_FKFS.Text == "微信" ? "4" : "1",
                    recName = "",
                    recOpBk = "",
                    recAcct = "",
                    totalAmount = dt.Rows[0]["JINE"].ToString(),
                    repCreater = dt.Rows[0]["CAOZY"].ToString(),
                    checker = dt.Rows[0]["CAOZY"].ToString(),
                    mainExt = new object { },
                    items = ListItem
                };
                DZPJRequestModel DZPJModel = new DZPJRequestModel()
                {
                    method = DZPJ.createInvoice,
                    content = JsonHelper.ObjectToJson(DZPJKP),
                    operatorCode = Common.userBH,
                    operatorName = Common.userMC,
                    requestId = DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + SKDBM,
                    security = ""
                };
                #endregion
                string PostUrl = ini.IniReadValue("DZFPURL", "ADDRESS");
                var data = JsonHelper.JsonToObject<DZPJResponseModel>(HttpRespost.Post(DZPJModel, PostUrl)) as DZPJResponseModel;
                if (data.code == "0")
                {
                    XtraMessageBox.Show("电子票据开具失败,请开先纸质票,然后联系管理员!", "提示");
                    if (DialogResult.OK==XtraMessageBox.Show("是否开纸质凭证","提示",MessageBoxButtons.OKCancel))
                    {
                        if (cmb_FKFS.Text == "微信支付")
                        {
                            ReportClass.PrintShouKDXP(SKDBM);
                        }
                        if (cmb_FKFS.Text != "医保")
                        {
                            ReportClass.PrintShouKD(SKDBM);
                        }
                    }
                }
                else
                {
                    var Result = JsonHelper.JsonToObject<DZPJCREATEINVOICERESULT>(data.data.ToString());
                    string strSql = $"INSERT INTO DZPJCREATEINVOICERESULT VALUES ('{Result.SERIALNUMBER}','{Result.EINVOICECODE }','{Result.EINVOICENUMBER}','{Result.RANDOMNUMBER}','{Result.ISSUEDATE}','{Result.ISSUETIME}','{Result.BILLPDFADDR}','{Result.BILLPDFURL}','{Result.PLATFORMCHECKURL}','{Result.FILE}','{Result.NOWSTOCK}')";
                    int res = DbHelperOra.ExecuteSql(strSql);
                    ReportClass.PrintShouKDXPDZPJ(SKDBM);
                }
    
            }
  • 相关阅读:
    mysql常用时间列表的查询——七天内、本月、本周、某天
    js取数组获取最大值的四种方式
    Mysql按周,按月,按日,按小时分组统计数据
    Mysql中的sum函数为null时的解决办法
    Maven 中 dependencyManagement 标签使用
    嵌入式printf函数运用基于ti 16位MCU
    md5实现对用户名与密码的保护
    c# md5 算法实现
    define a struct
    file.open异常处理
  • 原文地址:https://www.cnblogs.com/iowoi/p/15342237.html
Copyright © 2011-2022 走看看