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. 《深度探索C++对象模型》第六章 执行期语意学

    new运算符和delete运算符 运算符new看似是一个简单的运算,比如: int *pi=new int(5); 但是它实际由两个步骤完成: 1.通过适当的new运算符函数实体,配置所需的内存: / ...

  2. P7368 [USACO05NOV]Asteroids G

    题面 贝茜想在 \(N\times N\) 的网格中驾驶她的宇宙飞船.网格中有 \(K\) 个小行星.要使驾驶过程愉快,就必须把这些小行星全部消除. 贝茜有一个武器,可以以一个单位代价消除一行或一列的 ...

  3. SSM进行Query

    在查询之前,需要输入数据库字段的名称,s_id需要获取

  4. Node.js+Koa2+TypeScript技术概览

    最近几年一直使用Node.js作为后端服务平台,通过Koa2框架中间件快速搭建Web服务,但是使用JavaScript开发大型后端服务时会使程序变得难以维护,继而使用TypeScript语言开发,使编 ...

  5. 重学c#系列—— IO流[三十四]

    前言 简单介绍一下io流. 以前写过两篇,里面是java 语言写的,简单介绍了一下io流,这里是对io流的整理. https://www.cnblogs.com/aoximin/p/12007925. ...

  6. File、FileReader、Base64、Blob基本使用以及Buffer、ArrayBuffer之间的转换

    File文件 (File)对象获取文件的信息.实际上,File 对象是特殊类型的 Blob,Blob 的属性和方法都可以用于 File 对象.在js中,一般通过input元素,点击上传文件成功之后返回 ...

  7. idea debug---启动超级慢,提示”Method breakpoints may dramatically slow down debugging“的解决办法

    https://blog.csdn.net/hanqing456/article/details/111878982 1.问题项目正常启动的时候没问题,debug模式就卡住了,很久不动.我推测是哪个断 ...

  8. ASP.NET Core - 请求管道与中间件

    1. 请求管道 请求管道是什么?请求管道描述的是一个请求进到我们的后端应用,后端应用如何处理的过程,从接收到请求,之后请求怎么流转,经过哪些处理,最后怎么返回响应.请求管道就是一次请求在后端应用的生命 ...

  9. LinkedList内部实现原理

    LinkedList内部实现原理 java list 同ArrayList内部原理一样 我们先创建一个LinkedList对象LinkedList<String> li = new Lin ...

  10. 最大K段和

    题目大意 有一个长度为 \(N\) 的序列 \(A\) .他希望从中选出不超过 \(K\) 个连续子段,满足它们两两不相交,求总和的最大值(可以一段也不选,答案为 \(0\)). 分析 很容易想到 \ ...