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);
} }

Jsonhelper类的更多相关文章

  1. .net Json JavaScriptSerializer JsonHelper类

    结合.net 的JavaScriptSerializer 类实现Json数据处理 调用1: Model.Users m = BLL.UsersBLL.GetUserById(Convert.ToInt ...

  2. asp.net的JSONHelper 类

    调用方法: ){    jsons = json.ToString();}else{    jsons = @"{success:false}";}return jsons; JS ...

  3. c# JsonHelper类

    using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...

  4. JavaScriptSerializer的实现-常用JsonHelper类

    最近开始自己写自己的项目了,终于鼓起勇气迈出了自己认为的这一大步! 先来通用的helper类和大家分享一下 ,第一个是Object转为json序列的类,这个网上有很多,但我实践了一下大部分都不能用的, ...

  5. JsonHelper类(序列化和反序列化辅助类)

       1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Web; ...

  6. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  7. C#开发微信门户及应用(26)-公众号微信素材管理

    微信公众号最新修改了素材的管理模式,提供了两类素材的管理:临时素材和永久素材的管理,原先的素材管理就是临时素材管理,永久素材可以永久保留在微信服务器上,微信素材可以在上传后,进行图片文件或者图文消息的 ...

  8. CYQ.Data 快速开发EasyUI

    EasyUI: 前端UI框架之一, 相对ExtJs来说,算是小了,这两天,抽空看了下EasyUI的相关知识,基本上可以和大伙分享一下: 官网: http://www.jeasyui.com/ 学习的话 ...

  9. Android开发中的Json字符串与复杂的嵌套对象互转。

    Gson 可能是大家都觉得比较简单吧.我发现用JSONObject和网上下载的JSONHelper类使用起来很无语,只能解析简单的单层对象,如果有嵌套的就不能直转转成可用对象了.所以网上找了一会儿,发 ...

  10. 解决WCF的service端无法使用泛型的问题

    思路是将其序列化(比较笨的方法……) 1.引入Newtonsoft.json.dll 2.服务端序列化:return JsonConvert.SerializeObject(result); 3.客户 ...

随机推荐

  1. 浅谈LCA问题(最近公共祖先)(四种做法)

    [模板]最近公共祖先(LCA) \(update \ 2023.1.3\) 新增了树链剖分 题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先. 输入格式 第一行包含三个正整数 \ ...

  2. 安装部署Java项目

    开头:之前做了个文档转换的小项目,想部署在安卓手机上,自己可以随时看看,所以才有了下面这篇文章,内容或有瑕疵,望请批正.文末放我自己部署文档转换网址,仅供大家参考,谢谢! 选择:Termux 还是 L ...

  3. 今日实际操作----Dart Mac开发与运行环境配置 配置.bash_profile

    Mac 打开.编辑 .bash_profile 文件 一般在Mac上配置环境变量时经常要创建.编辑 .bash_profile文件.创建该文件时一般都会选择在当前用户目录下,即Mac下的.bash_p ...

  4. 高并发环境下3种方式优化Tomcat性能

    摘要:Tomcat作为最常用的Java Web服务器,随着并发量越来越高,Tomcat的性能会急剧下降,那有没有什么方法来优化Tomcat在高并发环境下的性能呢? 本文分享自华为云社区<[高并发 ...

  5. 如何通过Zabbix Docker配置HTTPS访问系统?

    概述 前面文章曾介绍过如果使用docker-compose快速部署一个Zabbix系统,但是部署的Zabbix系统是使用http协议进行访问的.有时候为了保证安全.我们需要配置使用https协议进行访 ...

  6. Linux CentOS7查看软件包安装时间

    rpm -qi 软件包名,比如httpd,lrzsz [devops@host9 ~]$ rpm -qi lrzsz Name : lrzsz Version : 0.12.20 Release : ...

  7. 随机森林RF模型超参数的优化:Python实现

      本文介绍基于Python的随机森林(Random Forest,RF)回归代码,以及模型超参数(包括决策树个数与最大深度.最小分离样本数.最小叶子节点样本数.最大分离特征数等)自动优化的代码.   ...

  8. 宇宙最强开发工具VScode简易手册

    VS Code 的全称是 Visual Studio Code,是一款开源的.免费的.跨平台的.高性能的.轻量级的代码编辑器.它在性能.语言支持.开源社区方面,都做得很不错,是这两年非常热门的一款开发 ...

  9. Openfoam Pstream类探索

    对于数值仿真而言,无论是商软或者开源并行计算都是非常重要的,而且想把自身数值仿真能力提升一个层次,必须对并行计算有很好的理解与应用 openfoam并行通信主要通过Pstream类完成 本篇文章进行说 ...

  10. 国内“谁”能实现chatgpt,短期穷出的类ChatGPT简评(算法侧角度为主),以及对MOSS、ChatYuan给出简评,一文带你深入了解宏观技术路线。

    1.ChatGPT简介[核心技术.技术局限] ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI 研发的聊天机器人程序 ,于202 ...