JsonResult是ASP.NET中的一个类,它用于将数据以JSON格式返回给客户端。
JsonResult是ActionResult类的一个派生类,它表示一个操作方法的结果,该结果将数据序列化为JSON格式,并将其作为HTTP响应返回给客户端。
您可以使用JsonResult来返回各种类型的数据,例如对象、集合或匿名类型。当客户端请求一个返回JSON数据的操作方法时,您可以使用JsonResult来将数据序列化为JSON格式,并通过HTTP响应发送给客户端。
以下是使用JsonResult的示例:
public class DataController : Controller
{
public JsonResult GetData(){// 获取要返回的数据
var data = new { Name ="John", Age =25};// 返回JsonResult对象returnJson(data);}}
在这个示例中,GetData方法返回一个JsonResult对象,其中包含一个匿名类型的数据。当客户端请求GetData方法时,ASP.NET将会将数据序列化为JSON格式,并将其作为HTTP响应返回给客户端。
请注意,您可以在JsonResult对象上设置其他属性,例如JsonRequestBehavior属性,以指定JSON序列化的行为。默认情况下,JsonRequestBehavior属性设置为AllowGet,允许通过GET请求获取JSON数据。
(2)代码:每行基本都有解释,简单易懂
public JsonResult AnswerListData1(int XXX,int XXX, string XXX, string XXX, string XXX, string XXX, string XXX, string XXX){if(string.IsNullOrWhiteSpace(XXX)|| XXX =="-1"){// 如果想允许通过GET请求获取JSON数据,可以将JsonRequestBehavior属性设置为JsonRequestBehavior.AllowGet,new List() 数据通用类/*
public class QuestionData
{
public int CountData { get; set; }
public int QuestionId { get; set; }
public string QuestionContent { get; set; }
public List AnswerDatas { get; set; } = new List();
}
*/returnJson(new List<QuestionData>(), JsonRequestBehavior.AllowGet);}//sql的筛选条件
string where =" where 1=1";//IsNullOrEmpty 判断是否为空或null,Trim 去掉字符的空格if(!string.IsNullOrEmpty(XXX.Trim())){//拼接sql的筛选语句
where += $@" and b.XXX = '{XXX}'";}//IsNullOrWhiteSpace检查一个字符串是否为null、空字符串或仅包含空白字符,ToInt32将其他数据类型转换为32位有符号整数if(!string.IsNullOrWhiteSpace(XXX)&& Convert.ToInt32(XXX)>0){
where += $@" and b.XXX = {XXX}";}if(!string.IsNullOrWhiteSpace(XXX)&& Convert.ToInt32(XXX)>0){
where += $@" and c.XXX = {XXX}";}if(string.IsNullOrEmpty(XXX))//添加单选时间{
WM3Y ="XXX";}
DateTime d_one = DateTime.Now; DateTime d_last = DateTime.Now;switch(WM3Y){case"Week"://ToDateTime将其他数据类型转换为DateTime类型,即日期和时间类型,并转化为"yyyy-MM-dd"形式
d_one = Convert.ToDateTime(GetThisWeekMonday().ToString("yyyy-MM-dd"));
d_last = Convert.ToDateTime(d_one.AddDays(6).ToString("yyyy-MM-dd")+" 23:59:59");
where += $@" and a.InsertTime >= '{d_one}'";
where += $@" and a.InsertTime <= '{d_last}'";break;case"Month"://DateTime.Now.AddDays获取当前时间的前面时间或后面的时间
d_one = DateTime.Now.AddDays(1- DateTime.Now.Day).Date;
d_last = DateTime.Now.AddDays(1- DateTime.Now.Day).Date.AddMonths(1).AddSeconds(-1);
where += $@" and a.InsertTime >= '{d_one}'";
where += $@" and a.InsertTime <= '{d_last}'";break;case"Month3":GetMonth3Date(out d_one, out d_last);
where += $@" and a.InsertTime >= '{d_one}'";
where += $@" and a.InsertTime <= '{d_last}'";break;case"Year":GetYearDate(out d_one, out d_last);
where += $@" and a.InsertTime >= '{d_one}'";
where += $@" and a.InsertTime <= '{d_last}'";break;}
string sql = $@"select xxxxxxx from Answer aa
inner join XXXX a on a.XXXX=aa.XXXX
inner join XXXX b on b.XXXX=a.XXXX
inner join XXXX c on c.XXXX=a.XXXX
inner join XXXX Q on Q.XXXX=aa.XXXX and Q.XXXX in('xxx','xxx'){where} and aa.XXXX=400 order by InsertTime desc;";//SimpleSqlHelper.ExecuteDataset 一些sql语句增删改查通用方法(类),前面有些文章介绍了,大家可以去参考
DataSet ds = SimpleSqlHelper.ExecuteDataset(SimpleSqlHelper.GetConnSting(), CommandType.Text, sql);
var dt = ds.Tables[0];
var AnswerList = new List<object>();
DataColumn dc1 = new DataColumn("XXXXX", Type.GetType("System.Object"));
dt.Columns.Add(dc1);for(int i =0; i < dt.Rows.Count; i++){if(dt.Rows[i]["XXXXXt"].ToString().Length <=2){
string[] answers = dt.Rows[i]["XXXXX"].ToString().Split('|');for(int j =0; j < answers.Length; j++){
string[] answerss = answers[j].ToString().Split('~');if(dt.Rows[i]["XXXXX"].ToString()== answerss[0]){
dt.Rows[i]["XXXXX"]= answerss[1];//AnswerList.Add(answerss[1]);}else{continue;}}}else{
dt.Rows[i]["XXXXX"]= dt.Rows[i]["XXXXX"].ToString();// AnswerList.Add(dt.Rows[i]["AnswerContent"].ToString());}}for(int i = dt.Rows.Count -1; i >=0; i--){
DataRow row = dt.Rows[i];if(dt.Rows[i]["XXXXX"].ToString().Length <=2){
dt.Rows.RemoveAt(i);//删除不满足要求的行数据}else{continue;}}
DbTableConvertor<AnswerModel> T1 = new DbTableConvertor<AnswerModel>();
List<AnswerModel> sugList = T1.ConvertToList(dt);
var total = sugList.Count;
var rows = sugList.Skip(offset).Take(limit).ToList();returnJson(new { total = total, rows = rows }, JsonRequestBehavior.AllowGet);}
JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。
JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。
登录需要验证类
public class Login {
@NotEmpty
引言:有时候需要在项目初始化的时候进行一系列工作,比如初始化一个线程池,初始化配置文件,初始化缓存等等,这时候就需要用到启动监听器,下面分别介绍一下两种常用的项目启动监听器
ServletContextListener
特点: 依赖于sevlet容器,需要配置web.xml
使用方法:
public class StartListener implements
The next group of methods has to do with rounding decimal values into integers. Three methods — Math.ceil(), Math.floor(), and Math.round() — handle rounding in differen