c#自定义Json类
类名:
public class Messageback
{
public string errcode { get; set; }
public string errmsg { get; set; }
}
public class MessageInfo
{
public string touser { get; set; }
//public string toparty { get; set; }
public string msgtype { get; set; }
public string agentid { get; set; }
public List<Txt_content> text { get; set; }
}
public class NewsInfo
{
public string touser { get; set; }
public string msgtype { get; set; }
public string agentid { get; set; }
public string news { get; set; }
}
public class news_articles
{
public List<articles_info> articles { get; set; }
}
public class articles_info
{
public string title { get; set; }
public string description { get; set; }
public string url { get; set; }
public string picurl { get; set; }
}
public class Txt_content
{
public string content{get;set;}
}
方法:
protected void QunFa_Click(object sender, EventArgs e)
{
MessageInfo msinfo = new MessageInfo();
int Row = this.CheckBoxList1.Items.Count;
int snum = 0;
int fnum = 0;
string OpenID, Agentname, PostData1, PostData2, NewPostData,ToUser;
ArrayList suclist = new ArrayList();
ArrayList faillist = new ArrayList();
for(int i=0;i<Row ;i++)
{
if(this.CheckBoxList1.Items[i].Selected == true)
{
msinfo.touser = this.CheckBoxList1.Items[i].Value;
Agentname = this.CheckBoxList1.Items[i].Text;
msinfo.agentid = "28";
Txt_content txt = new Txt_content { content = Content.Text };
List<Txt_content> list = new List<Txt_content>();
list.Add(txt);
msinfo.text = list;
msinfo.msgtype = "text";
string res = "";
string Access_Token = IsExistAccess_Token();
string posturl = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + Access_Token;
string postData = JsonConvert.SerializeObject(msinfo);
PostData1 = postData.Replace("[", "");
PostData2 = PostData1.Replace("]", "");
res = GetPage(posturl, PostData2);
//微信消息返回处理
JObject msgback = JObject.Parse(res);
//Response.Write(res);
int suc = Convert.ToInt32(msgback["errcode"].ToString());
if(suc==0)
{
suclist.Add(Agentname);
snum = snum + 1;
}
else
{
faillist.Add(Agentname);
fnum = fnum + 1;
}
}
}
txtalert.InnerHtml = "<b>共" + snum + "名员工短信发送成功! "+ fnum +"名发送失败!</b><br/>";
//输出人员名单
txtalert.InnerHtml += "<b>发送成功人员名单:</b><br/>";
int snum_temp = 0;
foreach (string suclist_temp in suclist)
{
//标点符号处理
snum_temp = snum_temp + 1;
if(snum_temp==suclist.Count)
{
txtalert.InnerHtml += suclist_temp;
}
else
{
txtalert.InnerHtml += suclist_temp;
txtalert.InnerHtml += ",";
}
}
txtalert.InnerHtml += "<br/><b>发送失败人员名单:</b><br/>";
int fnum_temp = 0;
foreach (string faillist_temp in faillist)
{
//标点符号处理
fnum_temp = fnum_temp + 1;
if(fnum_temp==faillist.Count)
{
txtalert.InnerHtml += faillist_temp;
}
else
{
txtalert.InnerHtml += faillist_temp;
txtalert.InnerHtml += ",";
}
}
//alert.InnerHtml += "<br/>成功人员名单:"+ +"。<br/>失败人员名单:"+ faillist.ToString() +"";
//Response.Write("共有" + num + "名员工短信发送成功!");
}
protected void tuwen_Click(object sender, EventArgs e)
{
NewsInfo newsinfo = new NewsInfo();
news_articles news_art = new news_articles();
articles_info art_info = new articles_info();
ArrayList suclist = new ArrayList();
ArrayList faillist = new ArrayList();
int Row = this.CheckBoxList1.Items.Count;
int snum = 0;
int fnum = 0;
string tt = this.title.Text;
string des = this.descrip.Text;
string url = this.url.Text;//图文链接
string picurl = this.picurl.Text;//封面图片
int num = 0;
string OpenID, PostData1, PostData2, Agentname;
for (int i = 0; i < Row; i++)
{
if (this.CheckBoxList1.Items[i].Selected == true)
{
Agentname = this.CheckBoxList1.Items[i].Text;
newsinfo.touser = this.CheckBoxList1.Items[i].Value;
newsinfo.msgtype = "news";
newsinfo.agentid = "28";
//art_info.title = Agentname + "同学,今天是你的生日,祝你生日快乐~!";
art_info.title = tt;
art_info.description = des;
art_info.url = url;
art_info.picurl = picurl;
List<articles_info> list = new List<articles_info>();
list.Add(art_info);
news_art.articles = list;
newsinfo.news = JsonConvert.SerializeObject(news_art).Replace("\\","");
string res = "";
string Access_Token = IsExistAccess_Token();
string postData = JsonConvert.SerializeObject(newsinfo);
PostData1 = postData.Replace("\"[", "[");
PostData2 = PostData1.Replace("]\"", "]");
PostData2 = PostData2.Replace("\":\"{", "\":{");
PostData2 = PostData2.Replace("}\"}", "}}");
PostData2 = PostData2.Replace("\\", "");
string posturl = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + Access_Token;
//string postData = "{\"touser\":\"" + OpenID +"\",\"msgtype\":\"news\",\"news\":{\"articles\":[{\"title\":\""+ tt +"\",\"description\":\""+ des +"\",\"url\":\""+ url +"\",\"picurl\":\""+ picurl +"\"}]}";
res = GetPage(posturl,PostData2);
JObject msgback = JObject.Parse(res);
//Response.Write(res);
int suc = Convert.ToInt32(msgback["errcode"].ToString());
if (suc == 0)
{
suclist.Add(Agentname);
snum = snum + 1;
}
else
{
faillist.Add(Agentname);
fnum = fnum + 1;
}
}
}
newsalert.InnerHtml = "<b>共" + snum + "名员工图文消息发送成功! " + fnum + "名发送失败!</b><br/>";
//输出人员名单
newsalert.InnerHtml += "<b>发送成功人员名单:</b><br/>";
int snum_temp = 0;
foreach (string suclist_temp in suclist)
{
//标点符号处理
snum_temp = snum_temp + 1;
if (snum_temp == suclist.Count)
{
newsalert.InnerHtml += suclist_temp;
}
else
{
newsalert.InnerHtml += suclist_temp;
newsalert.InnerHtml += ",";
}
}
newsalert.InnerHtml += "<br/><b>发送失败人员名单:</b><br/>";
int fnum_temp = 0;
foreach (string faillist_temp in faillist)
{
//标点符号处理
fnum_temp = fnum_temp + 1;
if (fnum_temp == faillist.Count)
{
newsalert.InnerHtml += faillist_temp;
}
else
{
newsalert.InnerHtml += faillist_temp;
newsalert.InnerHtml += ",";
}
}
}
转载于:https://www.cnblogs.com/pp521/p/4943029.html
c#自定义Json类相关推荐
- java 自定义json解析注解 复杂json解析 工具类
java 自定义json解析注解 复杂json解析 工具类 目录 java 自定义json解析注解 复杂json解析 工具类 1.背景 2.需求-各式各样的json 一.一星难度json[json对象 ...
- kettle中java组件_kettle系列-[KettleUtil]kettle插件,类似kettle的自定义java类控件
该kettle插件功能类似kettle现有的定义java类插件,自定java类插件主要是支持在kettle中直接编写java代码实现自定特殊功能,而本控件主要是将自定义代码转移到jar包,就是说自定义 ...
- 玩转 SpringBoot2.x 之自定义配置类整合Druid(Mybatis版)
专题系列分类:玩转SpringBoot2.x系列教程 前言 在阅读前这篇博客之前请先移步 玩转 SpringBoot 2.x 整合 Mybatis因为我们这篇博客是在其基础之上进行讲解的.在玩转 Sp ...
- 自定义json格式-解析为对象
Json解析-harmony ps:result为自定义格式的json字符串,,有更好的方法欢迎教导 1. HiJson 访问中央仓库找到hijson,找到用的多的版本复制gradle类型的依赖,将依 ...
- java反射实现自定义json转对象方法-忽略字段大小写、字段个数
java反射实现自定义json转对象方法-忽略字段大小写.字段个数 开发过程中经常会遇到json转对象,可以使用FastJson或者Gson自带的工具类进行转换,但当遇到json与对象属性名称大小写不 ...
- SpringBoot自定义JSON序列化规则
自定义类继承JsonSerializer import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ReflectUtil; ...
- SpringSecurity权限管理框架系列(六)-Spring Security框架自定义配置类详解(二)之authorizeRequests配置详解
1.预置演示环境 这个演示环境继续沿用 SpringSecurit权限管理框架系列(五)-Spring Security框架自定义配置类详解(一)之formLogin配置详解的环境. 2.自定义配置类 ...
- Spring中自定义JSON注释
工具类代码下载地址:链接:http://pan.baidu.com/s/1qYNQOGW 密码:e18w 1.如图1的系统注释,有的时候我们在开发的时候系统的注释并不够用,此时我们可以自己写一些注释来 ...
- 什么是php model类,thinkphp的自定义model类有什么作用?
请问,thinkphp的自定义model类有什么作用?如: <?php //自定义Modle类 namespace Home\Model; use Think\Model; class StuM ...
最新文章
- 【Git】git的基本使用
- oracle 存过调试 stepinto stepover stepout
- Linux sed编辑器
- 文献学习(part77)--UNIC: A fast nonparametric clustering
- Markdown预览功能不可用解决方案
- SpringMVC中使用作用域对象完成数据的流转
- poj 1985 Cow Marathon 【树的直径】
- jQuery对象与DOM对象之间的转换
- 手把手带你开发豆瓣FM(vue)
- 【数据可视化】免费开源BI工具DataEase实现了SQL数据集和Excel数据集关联?(什么?快别挡着我,冲!)
- android 可逆加密,AndroidMD5加密算法(可逆)
- kvaser怎么用?Kvaser 汽车CAN通讯协议总线分析仪新手入门常见问题解决方案教程
- 开发人员使用Helix QAC实现静态代码测试合规性的五大原因
- 国家铁路局招聘面试题汇集
- craftsmanship中文_欢迎访问叶登民简体中文主页!
- RT-AC87U华硕路由器外网登陆
- scrapy爬虫框架教程(二)-- 爬取豆瓣电影
- 关于推荐系统中的DOA
- php打印j机1015的驱动,HP LaserJet1015打印机驱动
- 极大似然估计原理详解