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);
} }
Jsonhelper类的更多相关文章
- .net Json JavaScriptSerializer JsonHelper类
结合.net 的JavaScriptSerializer 类实现Json数据处理 调用1: Model.Users m = BLL.UsersBLL.GetUserById(Convert.ToInt ...
- asp.net的JSONHelper 类
调用方法: ){ jsons = json.ToString();}else{ jsons = @"{success:false}";}return jsons; JS ...
- c# JsonHelper类
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...
- JavaScriptSerializer的实现-常用JsonHelper类
最近开始自己写自己的项目了,终于鼓起勇气迈出了自己认为的这一大步! 先来通用的helper类和大家分享一下 ,第一个是Object转为json序列的类,这个网上有很多,但我实践了一下大部分都不能用的, ...
- JsonHelper类(序列化和反序列化辅助类)
1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Web; ...
- Java类的继承与多态特性-入门笔记
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...
- C#开发微信门户及应用(26)-公众号微信素材管理
微信公众号最新修改了素材的管理模式,提供了两类素材的管理:临时素材和永久素材的管理,原先的素材管理就是临时素材管理,永久素材可以永久保留在微信服务器上,微信素材可以在上传后,进行图片文件或者图文消息的 ...
- CYQ.Data 快速开发EasyUI
EasyUI: 前端UI框架之一, 相对ExtJs来说,算是小了,这两天,抽空看了下EasyUI的相关知识,基本上可以和大伙分享一下: 官网: http://www.jeasyui.com/ 学习的话 ...
- Android开发中的Json字符串与复杂的嵌套对象互转。
Gson 可能是大家都觉得比较简单吧.我发现用JSONObject和网上下载的JSONHelper类使用起来很无语,只能解析简单的单层对象,如果有嵌套的就不能直转转成可用对象了.所以网上找了一会儿,发 ...
- 解决WCF的service端无法使用泛型的问题
思路是将其序列化(比较笨的方法……) 1.引入Newtonsoft.json.dll 2.服务端序列化:return JsonConvert.SerializeObject(result); 3.客户 ...
随机推荐
- P8881 懂事时理解原神
简要题意 \(T\) 组数据,每组数据给出一个 \(n\) 个顶点,\(m\) 条边的无向无权图.求出使用下面的伪代码求 \(1\) 为源点的单源最短路答案正确的概率.保留 \(3\) 位小数. in ...
- DVWA系列1:搭建 DVWA 环境
DVWA系列1:搭建 DVWA 环境 DVWA 是一个合法的漏洞测试.学习环境,先引用一段官方的介绍: Damn Vulnerable Web Application (DVWA) is a PHP/ ...
- 【ASP.NET Core】用配置文件来设置授权角色
在开始之前,老周先祝各个次元的伙伴们新春快乐.生活愉快.万事如意. 在上一篇水文中,老周介绍了角色授权的一些内容.本篇咱们来聊一个比较实际的问题--把用于授权的角色名称放到外部配置,不要硬编码,以方便 ...
- angular在服务中调用组件的某个方法,并传参给组件,(反向调用),变量改变后,强制更新视图
需要被调用方法的组件文件 import { Component, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core'; ...
- 【分析笔记】NXP PCF85263 设备驱动分析笔记
驱动移植 供应商无法提供相应的驱动程序,不过在 linux 最新的内核倒是有一份 pcf85363 的驱动,看代码并核对寄存器功能,是可以兼容 pcf85263 芯片.只是我们用的内核比较老 linu ...
- Python 内置界面开发框架 Tkinter入门篇 丙(文末有福利彩蛋,今天可是元宵节)
以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/B1hH5Qzd2RkAiiUId1tLWw 本文大概 2874 个字 ...
- Kubernetes环境cert-manager部署与应用
本作品由Galen Suen采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可.由原作者转载自个人站点. 概述 本文用于整理基于Kubernetes环境的cert-manager部 ...
- easyUI实现查询条件传递给后端并自动刷新表格的两种方法
easyUI实现查询条件传递给后端并自动刷新表格的两种方法 用ajax的post函数传递参数,再通过loadData方法将数据初始化到表格中 js代码: //根据id搜索 $("#stand ...
- 微信小程序更新机制
微信小程序更新机制的说明 官方文档地址:https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/update-mechan ...
- 《深入理解java虚拟机》第七章读书笔记——虚拟机类加载机制
系列文章目录和关于我 一丶虚拟机类加载机制是什么 java虚拟机将描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可用被虚拟机直接使用的java类型. 二丶类加载时 ...