cs-JsonHelper

ylbtech-Unitity: cs-JsonHelper

AjaxResult.cs  FormatJsonExtension.cs

1.A,效果图返回顶部
1.B,源代码返回顶部

1.B.1,AjaxResult.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Script.Serialization;

namespace Core.JsonHelper
{
    /// <summary>
    /// 前台Ajax请求的统一返回结果类
    /// </summary>
    public class AjaxResult
    {
        private AjaxResult()
        {
        }

        private bool iserror = false;

        /// <summary>
        /// 是否产生错误
        /// </summary>
        public bool IsError { get { return iserror; } }

        /// <summary>
        /// 错误信息,或者成功信息
        /// </summary>
        public string Message { get; set; }

        /// <summary>
        /// 成功可能时返回的数据
        /// </summary>
        public object Data { get; set; }

        #region Error
        public static AjaxResult Error()
        {
            return new AjaxResult()
            {
                iserror = true
            };
        }
        public static AjaxResult Error(string message)
        {
            return new AjaxResult()
            {
                iserror = true,
                Message = message
            };
        }
        #endregion

        #region Success
        public static AjaxResult Success()
        {
            return new AjaxResult()
            {
                iserror = false
            };
        }
        public static AjaxResult Success(string message)
        {
            return new AjaxResult()
            {
                iserror = false,
                Message = message
            };
        }
        public static AjaxResult Success(object data)
        {
            return new AjaxResult()
            {
                iserror = false,
                Data = data
            };
        }
        public static AjaxResult Success(object data, string message)
        {
            return new AjaxResult()
            {
                iserror = false,
                Data = data,
                Message = message
            };
        }
        #endregion

        /// <summary>
        /// 序列化
        /// </summary>
        /// <returns></returns>
        public override string ToString()
        {
            return new JavaScriptSerializer().Serialize(this);
        }
    }
}

1.B.2,FormatJsonExtension.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Web;
using System.Web.Mvc;
using Newtonsoft.Json;

namespace Core.WebHelper
{
    /// <summary>
    /// 格式化json扩展
    /// </summary>
    public static class FormatJsonExtension
    {
        /// <summary>
        /// 普通序列化(不进行UI友好的json化)
        /// </summary>
        /// <param name="c">控制器</param>
        /// <param name="data">数据</param>
        /// <returns></returns>
        public static FormatJsonResult JsonFormat(this Controller c, object data)
        {
            FormatJsonResult result = new FormatJsonResult();
            result.NotLigerUIFriendlySerialize = true;
            result.Data = data;
            return result;

        }
        /// <summary>
        /// UI友好的json格式序列化
        /// </summary>
        /// <param name="c"></param>
        /// <param name="data"></param>
        /// <param name="IsError"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        public static FormatJsonResult JsonFormat(this Controller c, object data, bool IsError, string message)
        {
            FormatJsonResult result = new FormatJsonResult();

            result.Data = data;
            result.Message = message;
            result.IsError = IsError;
            return result;
        }
        /// <summary>
        /// 根据操作和提供的数据判断执行状态
        /// </summary>
        /// <param name="c">控制器</param>
        /// <param name="data">数据</param>
        /// <param name="op">操作类型(增删改查,等等)</param>
        /// <returns></returns>
        public static FormatJsonResult JsonFormat(this Controller c, object data, SysOperate op)
        {

            //if (!data.IsNullOrEmpty())
            {
                return JsonFormatSuccess(c, data,"成功");// op.ToMessage(true));
            }
            return JsonFormatError(c,"失败");// op.ToMessage(false));
        }
        /// <summary>
        /// 根据操作和提供的数据判断执行状态
        /// </summary>
        /// <param name="c">控制器</param>
        /// <param name="data">数据</param>
        /// <param name="status">数据</param>
        /// <param name="op">操作类型(增删改查,等等)</param>
        /// <returns></returns>
        public static FormatJsonResult JsonFormat(this Controller c, object data, bool status, SysOperate op)
        {

            if (status)
            {
                return JsonFormatSuccess(c, data, "成功");//op.ToMessage(true));
            }
            return JsonFormatError(c, "失败");//op.ToMessage(false));
        }
        /// <summary>
        /// 成功的json返回
        /// </summary>
        /// <param name="c"></param>
        /// <param name="data"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        public static FormatJsonResult JsonFormatSuccess(this Controller c, object data, string message)
        {
            return JsonFormat(c, data, false, message);
        }
        /// <summary>
        /// 失败的json返回
        /// </summary>
        /// <param name="c"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        public static FormatJsonResult JsonFormatError(this Controller c, string message)
        {
            return JsonFormat(c, null, true, message);
        }

    }
    /// <summary>
    /// JsonResult格式化扩展
    /// </summary>
    public class FormatJsonResult : ActionResult
    {
        private bool iserror = false;
        /// <summary>
        /// 是否产生错误
        /// </summary>
        public bool IsError
        {
            get { return iserror; }
            set { this.iserror = value; }
        }

        /// <summary>
        /// 错误信息,或者成功信息
        /// </summary>
        public string Message { get; set; }

        /// <summary>
        /// 成功可能时返回的数据
        /// </summary>
        public Object Data { get; set; }
        /// <summary>
        /// 正常序列化方式(为True则不进行UI友好的序列化)
        /// </summary>
        public bool NotLigerUIFriendlySerialize { get; set; }
        public override void ExecuteResult(ControllerContext context)
        {

            if (context == null)
            {
                throw new ArgumentNullException("context");
            }
            HttpResponseBase response = context.HttpContext.Response;
            response.ContentType = "application/json";

            StringWriter sw = new StringWriter();
            JsonSerializer serializer = JsonSerializer.Create(
                new JsonSerializerSettings
                {
                    // Converters = new JsonConverter[] { new Newtonsoft.Json.Converters.IsoDateTimeConverter() },
                    ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
                    NullValueHandling = NullValueHandling.Ignore

                }
                );

            using (JsonWriter jsonWriter = new JsonTextWriter(sw))
            {
                jsonWriter.Formatting = Formatting.Indented;

                if (!NotLigerUIFriendlySerialize)
                    serializer.Serialize(jsonWriter, this);
                else
                    serializer.Serialize(jsonWriter, Data);
            }
            response.Write(sw.ToString());

        }
    }

    /// <summary>
    /// 系统的常见操作
    /// </summary>
    public enum SysOperate
    {
        Add = 0,
        Update = 1,
        Load = 2,
        Delete = 3,
        Operate = 4,
        UnkownError = 5
    }

    #region 友好的提示信息
    /// <summary>
    /// 友好的提示信息
    /// </summary>
    public static class FriendlyMessage
    {
        //#region
        ///// <summary>
        ///// 获取消息(根据操作类型和状态)
        ///// </summary>
        ///// <param name="sysOp">操作类型</param>
        ///// <param name="status">执行状态</param>
        ///// <returns></returns>
        //public static string ToMessage(this SysOperate sysOp, bool status)
        //{
        //    string message = "";
        //    //根据操作类型和执行状态返回消息
        //    switch (sysOp)
        //    {
        //        case SysOperate.Add:
        //            message = status ? SystemMessage.AddSuccess.ToMessage() : SystemMessage.AddError.ToMessage();
        //            break;
        //        case SysOperate.Load:
        //            message = status ? SystemMessage.LoadSuccess.ToMessage() : SystemMessage.LoadError.ToMessage();
        //            break;
        //        case SysOperate.Update:
        //            message = status ? SystemMessage.UpdateSuccess.ToMessage() : SystemMessage.UpdateError.ToMessage();
        //            break;

        //        case SysOperate.Delete:
        //            message = status ? SystemMessage.DeleteSuccess.ToMessage() : SystemMessage.DeleteError.ToMessage();
        //            break;
        //        case SysOperate.Operate:
        //            message = status ? SystemMessage.OperateSuccess.ToMessage() : SystemMessage.OperateError.ToMessage();
        //            break;
        //        case SysOperate.UnkownError:
        //            message = SystemMessage.UnkownError.ToMessage();
        //            break;
        //    }
        //    return message;
        //}
        ///// <summary>
        ///// 获取系统管理模块友好提示信息
        ///// </summary>
        ///// <param name="code"></param>
        ///// <returns></returns>
        //public static string ToMessage(this SystemMessage code)
        //{
        //    string message = "";
        //    switch (code)
        //    {
        //        case SystemMessage.AddSuccess:
        //            message = "添加成功!";
        //            break;
        //        case SystemMessage.AddError:
        //            message = "添加失败!";
        //            break;
        //        case SystemMessage.DeleteSuccess:
        //            message = "删除成功!";
        //            break;
        //        case SystemMessage.DeleteError:
        //            message = "删除失败!";
        //            break;
        //        case SystemMessage.LoadSuccess:
        //            message = "加载成功!";
        //            break;
        //        case SystemMessage.LoadError:
        //            message = "加载失败!";
        //            break;
        //        case SystemMessage.OperateSuccess:
        //            message = "操作成功!";
        //            break;
        //        case SystemMessage.OperateError:
        //            message = "操作失败!";
        //            break;
        //        case SystemMessage.UpdateSuccess:
        //            message = "更新成功!";
        //            break;
        //        case SystemMessage.UpdateError:
        //            message = "更新失败!";
        //            break;
        //        case SystemMessage.UnkownError:
        //            message = "未知错误!";
        //            break;
        //        default:
        //            message = "错误";
        //            break;
        //    }
        //    return message;
        //}
        //#endregion

        //#region 获取用户模块界面友好的消息提示
        ///// <summary>
        ///// 获取用户模块界面友好的消息提示
        ///// </summary>
        ///// <param name="code"></param>
        ///// <returns></returns>
        //public static string ToMessage(this UserMessage code)
        //{
        //    string message = "";
        //    switch (code)
        //    {
        //        case UserMessage.UserNotLogin:
        //            message = "用户未登录!";
        //            break;
        //        case UserMessage.UserLoginSuccess:
        //            message = "登录成功!";
        //            break;
        //        case UserMessage.UserLoginError:
        //            message = "用户登录失败!";
        //            break;
        //        case UserMessage.ChangePasswordSuccess:
        //            message = "修改密码成功!";
        //            break;
        //        case UserMessage.ChangePasswordError:
        //            message = "修改密码失败!";
        //            break;
        //        case UserMessage.UnkonwnError:
        //            message = "未知错误";
        //            break;
        //        default:
        //            message = "未知错误";
        //            break;
        //    }
        //    return message;
        //}
        //#endregion
    }
    #endregion

}

1.B.3,

1.C,下载地址返回顶部
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
时间: 2024-10-10 09:21:19

cs-JsonHelper的相关文章

【C#公共帮助类】JsonHelper 操作帮助类, 以后再也不用满地找Json了,拿来直接用

 四个主要操作类:JsonConverter .JsonHelper .JsonSplit .AjaxResult 一.JsonConverter: 自定义查询对象转换动态类.object动态类转换json包.json转换object动态类.DataReader转换为Json.DataSet转换为Json.DataTable转成Json.Datatable转换为Json .格式化字符型日期型布尔型.过滤特殊字符等 using System; using System.Collections.Ge

C# JsonHelper 操作辅助类,拿来直接用

四个主要操作类:JsonConverter .JsonHelper .JsonSplit .AjaxResult 一.JsonConverter: 自定义查询对象转换动态类.object动态类转换json包.json转换object动态类.DataReader转换为Json. DataSet转换为Json.DataTable转成Json.Datatable转换为Json .格式化字符型日期型布尔型.过滤特殊字符等 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

JsonHelper 操作帮助类

四个主要操作类:JsonConverter .JsonHelper .JsonSplit .AjaxResult 一.JsonConverter: 自定义查询对象转换动态类.object动态类转换json包.json转换object动态类.DataReader转换为Json.DataSet转换为Json.DataTable转成Json.Datatable转换为Json .格式化字符型日期型布尔型.过滤特殊字符等 using System; using System.Collections.Gen

C# JsonHelper

建议直接用json.net:  http://www.cnblogs.com/xwgli/archive/2013/08/30/3290964.html 添加引用:System.Runtime.Serialization JsonHelper.cs代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using System.Run

CS文件类头注释

1.修改unity生成CS文件的模板(模板位置:Unity\Editor\Data\Resources\ScriptTemplates 文件名:81-C# Script-NewBehaviourScript.cs) 本人将模板修改为如下图(红框内的内容) 备注:在"#"之间的为可替换的参数 2.修改模板可替换参数,在工程项目Asset文件夹在创建Editor文件 在文件夹下添加AddFileHeadComment.cs文件 内容如下 参数内容根据个人需求修改

CS 和 BS 的区别和优缺点

bs是浏览器(browser)和服务器(server) cs是静态客户端程序(client)和服务器(server) 区别在于,虽然同样是通过一个程序连接到服务器进行网络通讯,但是bs结构的,客户端运行在浏览器里,比如你看百度,就是通过浏览器.还有一些bs结构的应用,比如中国电信,以及一些电子商务平台.用bs结构的好处是,不必专门开发一个客户端界面,可用asp,php,jsp等比较快速开发web应用的程序开发. cs结构的,要做一个客户端.网络游戏基本上大多是cs结构,比如你玩传奇,要专门开个传

微软SQLHelper.cs类 中文版

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Xml; using System.Collections; namespace LiuYanBanT { public class SqlHelper

AssemblyInfo.cs文件详解

一.前言 .net工程的Properties文件夹下自动生成一个名为AssemblyInfo.cs的文件,一般情况下我们很少直接改动该文件.但我们实际上通过另一个形式操作该文件.那就是通过在鼠标右键点击项目的属性进入“应用程序”->“程序集信息”,然后修改信息. 二.作用 通过特性(Attribute)来设置程序集(dll文件)的常规信息,供查看或作为配置信息供程序内部使用. 三.详解 // 程序集标题 [assembly:AssemblyTitle("程序集标题")] // 程

全局程序集GlobalAssemblyInfo.cs进行版本控制(引)

原文出自:http://blog.csdn.net/oyi319/article/details/5753311 1.全局程序集GlobalAssemblyInfo.cs 我们编写的一个解决方案,通常会包含多个项目,而每个项目都有单独的程序集信息AssemblyInfo.cs.但是,你会发现一个问题,这些AssemblyInfo.cs当中有一部分在重复的,若能把它们提取出来放入一个单一文件中,修改AssemblyInfo中的诸如产品名.产品版本.版本等信息会变得轻松.那么,这个程序集信息文件,我

【141030】CS结构的VC++远程控制程序源代码

CS结构的VC++远程控制程序源代码,类似于pcAnywhere的程序,程序分为主服务端和主控端.主控端也就是客户端,由用户发送指令到服务端后来控制受控计算机.因为服务端是安装在受控机上的,其程序原理与著名的远程控制软件PcAnywhere非常相似,只是只完成了基本功能,有兴趣的可自己扩展程序吧. 客户端: 服务端: 完整源码下载地址:点击下载