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语言

    什么是C语言? C语言是一门计算机语言 计算机语言是什么呢? 人和计算机交流的语言,如C/C++.Java.python 计算机语言的发展? 二进制语言(硬件-电-正电1/负电0 1010100101 ...

  2. 12月22日内容总结——django中间件的三个了解要求的方法、基于django中间件的功能设计、cookie与session

    目录 一.django中间件三个了解的方法 二.django中间件五个方法的执行流程详解 三.基于django中间件的功能设计 功能设计介绍 如何利用字符串导入模块 功能模拟 四.cookie与ses ...

  3. ResponseBodyAdvice处理返回数据

    package com.xf.config; import org.slf4j.MDC; import org.springframework.core.MethodParameter; import ...

  4. 关于Vue2.x与Es6一些特性

    关于Vue2.x与Es6一些特性 Vue的定位,就是快速开发. 这些特性,我没有过于熟练,导致写的代码质量不高. 过滤器 <template> <div> {{title | ...

  5. Bootstrap的Modal与WebUploader联用的问题及办法

    问题描述:在使用Bootstrap的Modal的时候,在Modal中用了WebUploader插件,然后WebUploader的绑定按钮无法点击 在网上找了一些结果,觉得,他们的问题解决方案感觉都不够 ...

  6. spring源码写注释

    转:https://blog.csdn.net/z_c8819/article/details/105258015 1.从GitHub上下载spring项目 https://github.com/sp ...

  7. [学习笔记]SQL server完全备份指南

    方式一,使用SQL Server Management Studio 准备工作 连接目标数据库服务器 在目标数据库上右键->属性,将数据库的恢复模式设置为"简单",兼容级别设 ...

  8. Prometheus&Alertmanager告警推送

    前言 尽管可以通过可视化数据监控系统运行状态,但我们无法时刻关注系统运行,因此需要一些实时运行的工具能够辅助监控系统运行,当系统出现运行问题时,能够通知我们,以此确保系统稳定性,告警便是作为度量指标监 ...

  9. 题解 P4317 花神的数论题

    并不难,但是因为各种 SB 原因调了 1145141919810min(悲 我们会发现 \(\operatorname{sum}\) 其实很小,顶多就 \(50\),这启发我们统计每个 \(\oper ...

  10. Blob 和 ArrayBuffer

    Blob 和 ArrayBuffer Blob 对象表示的是二进制到文本的对象: ArrayBuffer 对象表示一段二进制数据,用来模拟内存里面的数据. Blob 关于 Blob 的详细内容:了解 ...