首页 > 代码库 > 关于接收json以及使用json

关于接收json以及使用json

Common:

FileIO.cs

using System;using System.Collections.Generic;//using System.Linq;using System.Web;using System.IO;using System.Text;namespace SMS.Util{    #region FileIo    public class FileIO    {                private FileStream fsw;        private StreamWriter sw;        private string Charset = "UTF-8";        public FileIO()        {        }        public FileIO(string charset)        {            Charset = charset;        }        private void CreateDir(string filePath)        {            string dirPath = System.IO.Path.GetDirectoryName(filePath);            if (!Directory.Exists(dirPath))            {                Directory.CreateDirectory(dirPath);            }        }        public void OpenWriteFile(string filePath)        {            try            {                if (!File.Exists(filePath))                {                    CreateDir(filePath);                    File.Create(filePath).Close();                    fsw = new FileStream(filePath, FileMode.Append, FileAccess.Write, FileShare.ReadWrite);                    sw = new StreamWriter(fsw, Encoding.GetEncoding(Charset));                }                else                {                    fsw = new FileStream(filePath, FileMode.Append, FileAccess.Write, FileShare.ReadWrite);                    sw = new StreamWriter(fsw, Encoding.GetEncoding(Charset));                }            }            catch            {            }        }        public void CloseWriteFile()        {            if (fsw != null)            {                fsw.Close();            }        }        public void WriteLine(string s)        {            if (sw != null)            {                sw.WriteLine(s);                sw.Flush();            }        }        private FileStream fsr;        private StreamReader sr;        public void OpenReadFile(string filePath)        {            if (!File.Exists(filePath))            {                CreateDir(filePath);                File.Create(filePath).Close();            }            fsr = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Read,            FileShare.ReadWrite);            sr = new StreamReader(fsr, Encoding.GetEncoding(Charset));        }        public void CloseReadFile()        {            if (fsr != null)                fsr.Close();        }        public string ReadLine()        {            if (sr.EndOfStream)                return null;            return sr.ReadLine();        }        public string ReadToEnd()        {            if (sr.EndOfStream) { return null; }            return sr.ReadToEnd();        }        public bool IsEof()        {            return sr.EndOfStream;        }    }//ClassEnd    #endregion}

 FileItem.cs

using System;using System.Collections.Generic;//using System.Linq;using System.Text;using System.IO;namespace SMS.Util{    /// <summary>    /// 文件元数据。    /// 可以使用以下几种构造方法:    /// 本地路径:new FileItem("C:/temp.jpg");    /// 本地文件:new FileItem(new FileInfo("C:/temp.jpg"));    /// 字节流:new FileItem("abc.jpg", bytes);    /// </summary>    public class FileItem    {        private string fileName;        private string mimeType;        private byte[] content;        private FileInfo fileInfo;        /// <summary>        /// 基于本地文件的构造器。        /// </summary>        /// <param name="fileInfo">本地文件</param>        public FileItem(FileInfo fileInfo)        {            if (fileInfo == null || !fileInfo.Exists)            {                throw new ArgumentException("fileInfo is null or not exists!");            }            this.fileInfo = fileInfo;        }        /// <summary>        /// 基于本地文件全路径的构造器。        /// </summary>        /// <param name="filePath">本地文件全路径</param>        public FileItem(string filePath)            : this(new FileInfo(filePath))        { }        /// <summary>        /// 基于文件名和字节流的构造器。        /// </summary>        /// <param name="fileName">文件名称(服务端持久化字节流到磁盘时的文件名)</param>        /// <param name="content">文件字节流</param>        public FileItem(string fileName, byte[] content)        {            if (string.IsNullOrEmpty(fileName)) throw new ArgumentNullException("fileName");            if (content == null || content.Length == 0) throw new ArgumentNullException("content");            this.fileName = fileName;            this.content = content;        }        /// <summary>        /// 基于文件名、字节流和媒体类型的构造器。        /// </summary>        /// <param name="fileName">文件名(服务端持久化字节流到磁盘时的文件名)</param>        /// <param name="content">文件字节流</param>        /// <param name="mimeType">媒体类型</param>        public FileItem(string fileName, byte[] content, string mimeType)            : this(fileName, content)        {            if (string.IsNullOrEmpty(mimeType)) throw new ArgumentNullException("mimeType");            this.mimeType = mimeType;        }        public string GetFileName()        {            if (this.fileName == null && this.fileInfo != null && this.fileInfo.Exists)            {                this.fileName = this.fileInfo.FullName;            }            return this.fileName;        }        public string GetMimeType()        {            if (this.mimeType == null)            {                this.mimeType = GetMimeType(GetContent());            }            return this.mimeType;        }        /// <summary>        /// 获取文件的真实后缀名。目前只支持JPG, GIF, PNG, BMP四种图片文件。        /// </summary>        /// <param name="fileData">文件字节流</param>        /// <returns>JPG, GIF, PNG or null</returns>        public static string GetFileSuffix(byte[] fileData)        {            if (fileData =http://www.mamicode.com/= null || fileData.Length < 10)"GIF";            }            else if (fileData[1] == ‘P‘ && fileData[2] == ‘N‘ && fileData[3] == ‘G‘)            {                return "PNG";            }            else if (fileData[6] == ‘J‘ && fileData[7] == ‘F‘ && fileData[8] == ‘I‘ && fileData[9] == ‘F‘)            {                return "JPG";            }            else if (fileData[0] == ‘B‘ && fileData[1] == ‘M‘)            {                return "BMP";            }            else            {                return null;            }        }        /// <summary>        /// 获取文件的真实媒体类型。目前只支持JPG, GIF, PNG, BMP四种图片文件。        /// </summary>        /// <param name="fileData">文件字节流</param>        /// <returns>媒体类型</returns>        public static string GetMimeType(byte[] fileData)        {            string suffix = GetFileSuffix(fileData);            string mimeType;            switch (suffix)            {                case "JPG": mimeType = "image/jpeg"; break;                case "GIF": mimeType = "image/gif"; break;                case "PNG": mimeType = "image/png"; break;                case "BMP": mimeType = "image/bmp"; break;                default: mimeType = "application/octet-stream"; break;            }            return mimeType;        }        /// <summary>        /// 根据文件后缀名获取文件的媒体类型。        /// </summary>        /// <param name="fileName">带后缀的文件名或文件全名</param>        /// <returns>媒体类型</returns>        public static string GetMimeType(string fileName)        {            string mimeType;            fileName = fileName.ToLower();            if (fileName.EndsWith(".bmp", StringComparison.CurrentCulture))            {                mimeType = "image/bmp";            }            else if (fileName.EndsWith(".gif", StringComparison.CurrentCulture))            {                mimeType = "image/gif";            }            else if (fileName.EndsWith(".jpg", StringComparison.CurrentCulture) || fileName.EndsWith(".jpeg", StringComparison.CurrentCulture))            {                mimeType = "image/jpeg";            }            else if (fileName.EndsWith(".png", StringComparison.CurrentCulture))            {                mimeType = "image/png";            }            else            {                mimeType = "application/octet-stream";            }            return mimeType;        }        public byte[] GetContent()        {            if (this.content == null && this.fileInfo != null && this.fileInfo.Exists)            {                using (System.IO.Stream fileStream = this.fileInfo.OpenRead())                {                    this.content = new byte[fileStream.Length];                    fileStream.Read(content, 0, content.Length);                }            }            return this.content;        }    }}

 Logger.cs

using System;using System.Collections.Generic;//using System.Linq;using System.Web;namespace SMS.Util{    public class Logger    {        #region 写文本日志        /// <summary>        /// 写文本日志        /// </summary>        /// <param name="Content"></param>        /// <param name="logFilePath"></param>        public static void WriteTxtLog(string Content, string logFilePath)        {            try            {                string fileName = logFilePath;                string br = "\r\n";                string content = Content;                FileIO fIO = new FileIO();                fIO.OpenWriteFile(fileName);                fIO.WriteLine(content + br + br + "*******************************************************" + br);                fIO.CloseWriteFile();            }            catch            {            }        }        /// <summary>        /// 写文本日志        /// </summary>        /// <param name="Content"></param>        public static void WriteTxtLog(string Content)        {            try            {                string fileName = System.AppDomain.CurrentDomain.BaseDirectory;                if (!fileName.EndsWith("\\"))                {                    fileName += "\\";                }                fileName += "Log\\";                fileName += System.DateTime.Now.ToString("yyyy-MM-dd-HH") + ".txt";                string br = "\r\n";                string content = Content;                FileIO fIO = new FileIO();                fIO.OpenWriteFile(fileName);                fIO.WriteLine(content + br + br + "*******************************************************" + br);                fIO.CloseWriteFile();            }            catch            {            }        }        /// <summary>        /// 写文本日志        /// </summary>        /// <param name="Ex"></param>        public static void WriteTxtLog(Exception Ex)        {            try            {                string fileName = System.AppDomain.CurrentDomain.BaseDirectory;                if (!fileName.EndsWith("\\"))                {                    fileName += "\\";                }                fileName += "Log\\";                fileName += System.DateTime.Now.ToString("yyyy-MM-dd") + ".txt";                string blank = "    ";                string br = "\r\n";                string content = string.Empty;                //content += "客户端IP:" + ClientIP;                //content += br + "客户端操作系统:" + ClientPlatform;                //content += br + "客户端浏览器:" + ClientBrowser;                //content += br + "服务器计算机名:" + System.Net.Dns.GetHostName();                //content += br + "发生时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");                //content += br + "引发页面:" + System.Web.HttpContext.Current.Request.Url.ToString();                //content += br + "异常对象:" + Ex.Source;                //content += br + "异常信息:" + Ex.Message;                //content += br + "异常方法:" + Ex.TargetSite;                //content += br + "错误详细信息:";                content += br + blank + Ex.ToString();                FileIO fIO = new FileIO();                fIO.OpenWriteFile(fileName);                fIO.WriteLine(content + br + br + "*******************************************************" + br);                fIO.CloseWriteFile();            }            catch            {            }        }        #endregion        #region 客户端IP        /// <summary>        /// 客户端IP        /// </summary>        private static string ClientIP        {            get            {                string result = String.Empty;                result = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];                if (null == result || result == String.Empty)                {                    result = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];                }                if (null == result || result == String.Empty)                {                    result = System.Web.HttpContext.Current.Request.UserHostAddress;                }                if (null == result || result == String.Empty)                {                    return "0.0.0.0";                }                return result;            }        }        #endregion        #region 客户端使用平台的名字        /// <summary>        /// 客户端使用平台的名字         /// </summary>        private static string ClientPlatform        {            get            {                try                {                    return System.Web.HttpContext.Current.Request.Browser.Platform.ToString();                }                catch { }                {                    return "";                }            }        }        #endregion        #region 客户端浏览器        /// <summary>        /// 客户端浏览器        /// </summary>        private static string ClientBrowser        {            get            {                try                {                    System.Web.HttpBrowserCapabilities bc = System.Web.HttpContext.Current.Request.Browser;                    return bc.Browser + " v." + bc.Version;                }                catch                {                    return "";                }            }        }        #endregion    }//ClassEnd}

 Tools.cs

/* * 微信公众平台C#版SDK * www.qq8384.com 版权所有 * 有任何疑问,请到官方网站:www.qq8484.com查看帮助文档 * 您也可以联系QQ1397868397咨询 * QQ群:124987242、191726276、234683801、273640175、234684104*/using System;using System.Collections.Generic;//using System.Linq;using System.Text;//using System.Web.Script.Serialization;using System.Xml;namespace Weixin.Mp.Sdk.Util{    /// <summary>    /// 辅助工具类    /// </summary>    public  class Tools    {        #region 获取Json string某节点的值。        /// <summary>        /// 获取Json string某节点的值。        /// </summary>        /// <param name="json"></param>        /// <param name="key"></param>        /// <returns></returns>        public static string GetJosnValue(string jsonStr, string key)        {            string result = string.Empty;            if (!string.IsNullOrEmpty(jsonStr))            {                key = "\"" + key.Trim(‘"‘) + "\"";                int index = jsonStr.IndexOf(key) + key.Length + 1;                if (index > key.Length + 1)                {                    //先截逗号,若是最后一个,截“}”号,取最小值                    int end = jsonStr.IndexOf(‘,‘, index);                    if (end == -1)                    {                        end = jsonStr.IndexOf(‘}‘, index);                    }                    //index = json.IndexOf(‘"‘, index + key.Length + 1) + 1;                    result = jsonStr.Substring(index, end - index);                    //过滤引号或空格                    result = result.Trim(new char[] { ‘"‘, ‘ ‘, ‘\‘‘ });                }            }            return result;        }        #endregion        /// <summary>        /// datetime转换成unixtime        /// </summary>        /// <param name="time"></param>        /// <returns></returns>        public static  long  ConvertDateTimeInt(System.DateTime time)        {            System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));            return (long )(time - startTime).TotalSeconds;        }       /// <summary>        /// 将Unix时间戳转换为DateTime类型时间       /// </summary>       /// <param name="d"></param>       /// <returns></returns>        public static System.DateTime ConvertIntDateTime(double d)        {            System.DateTime time = System.DateTime.MinValue;            System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));            time = startTime.AddSeconds(d);            return time;        }        /// <summary>        /// Json序列化对象        /// </summary>        /// <typeparam name="ObjType"></typeparam>        /// <param name="obj"></param>        /// <returns></returns>        //public static  string ToJsonString<ObjType>(ObjType obj) where ObjType : class        //{        //    //JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();        //    //string  s = jsonSerializer.Serialize(obj);        //    //return s;        //}        //操作xml       // public    }}

 WebUtils.cs

using System;using System.Collections;using System.Collections.Generic;using System.IO;using System.Net;using System.Text;using System.Web;using System.Net.Security;using System.Security.Authentication;using System.Security.Cryptography.X509Certificates;namespace SMS.Util{    /// <summary>    /// 网络工具类。    /// </summary>    public sealed class WebUtils    {        private int _timeout = 100000;        /// <summary>        /// 请求与响应的超时时间        /// </summary>        public int Timeout        {            get { return this._timeout; }            set { this._timeout = value; }        }        /// <summary>        /// 执行HTTP POST请求。        /// </summary>        /// <param name="url">请求地址</param>        /// <param name="postData">post数据</param>        /// <returns>HTTP响应</returns>        public string DoPost(string url, string postData)        {            HttpWebRequest req = GetWebRequest(url, "POST");            req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";            byte[] bytePostData = http://www.mamicode.com/Encoding.UTF8.GetBytes(postData);"url">请求地址</param>        /// <param name="parameters">请求参数</param>        /// <returns>HTTP响应</returns>        public string DoPost(string url, IDictionary<string, string> parameters)        {            HttpWebRequest req = GetWebRequest(url, "POST");            req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";            byte[] postData = http://www.mamicode.com/Encoding.UTF8.GetBytes(BuildQuery(parameters));"url">请求地址</param>        /// <param name="parameters">请求参数</param>        /// <returns>HTTP响应</returns>        public string DoGet(string url, IDictionary<string, string> parameters)        {            if (parameters != null && parameters.Count > 0)            {                if (url.Contains("?"))                {                    url = url + "&" + BuildQuery(parameters);                }                else                {                    url = url + "?" + BuildQuery(parameters);                }            }           // writeBin("-------------------------第二次读取url:" + url);            HttpWebRequest req = GetWebRequest(url, "GET");          //  writeBin("-------------------------11"+req);            req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";//          //  writeBin("-------------------------22" + req);            if (req != null)            {              //  writeBin("--------------------req不为空---------------");                //writeBin(req.ToString());            }            else            {               // writeBin("------------------req为空了-------");               // writeBin(req.ToString());            }            HttpWebResponse rsp = (HttpWebResponse)req.GetResponse();            //writeBin("-------------------------33");            if (string.IsNullOrEmpty(rsp.CharacterSet))            {                //writeBin("-------------------------repSet为空:"+rsp);                return GetResponseAsString(rsp, Encoding.UTF8);            }            else            {                //writeBin("-------------------------repSetNo空:"+rsp.CharacterSet);                Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet);                return GetResponseAsString(rsp, encoding);            }        }        public void writeBin(string texts)        {            //获取路径            string LoginPath = AppDomain.CurrentDomain.BaseDirectory + "\\AsyncMemberinfo.bin";            //服务器一切正常            FileStream fs = new FileStream(LoginPath, FileMode.Append);            StringBuilder sbu = new StringBuilder();            sbu.AppendLine(texts);            BinaryWriter bwrite = new BinaryWriter(fs, System.Text.Encoding.Default);            bwrite.Write(sbu.ToString());            bwrite.Flush();            fs.Close();        }        /// <summary>        /// 执行带文件上传的HTTP POST请求。        /// </summary>        /// <param name="url">请求地址</param>        /// <param name="textParams">请求文本参数</param>        /// <param name="fileParams">请求文件参数</param>        /// <returns>HTTP响应</returns>        public string DoPost(string url, IDictionary<string, string> textParams, IDictionary<string, FileItem> fileParams)        {            // 如果没有文件参数,则走普通POST请求            if (fileParams == null || fileParams.Count == 0)            {                return DoPost(url, textParams);            }            string boundary = DateTime.Now.Ticks.ToString("X"); // 随机分隔线            HttpWebRequest req = GetWebRequest(url, "POST");            req.ContentType = "multipart/form-data;charset=utf-8;boundary=" + boundary;            System.IO.Stream reqStream = req.GetRequestStream();            byte[] itemBoundaryBytes = Encoding.UTF8.GetBytes("\r\n--" + boundary + "\r\n");            byte[] endBoundaryBytes = Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n");            // 组装文本请求参数            string textTemplate = "Content-Disposition:form-data;name=\"{0}\"\r\nContent-Type:text/plain\r\n\r\n{1}";            IEnumerator<KeyValuePair<string, string>> textEnum = textParams.GetEnumerator();            while (textEnum.MoveNext())            {                string textEntry = string.Format(textTemplate, textEnum.Current.Key, textEnum.Current.Value);                byte[] itemBytes = Encoding.UTF8.GetBytes(textEntry);                reqStream.Write(itemBoundaryBytes, 0, itemBoundaryBytes.Length);                reqStream.Write(itemBytes, 0, itemBytes.Length);            }            // 组装文件请求参数            string fileTemplate = "Content-Disposition:form-data;name=\"{0}\";filename=\"{1}\"\r\nContent-Type:{2}\r\n\r\n";            IEnumerator<KeyValuePair<string, FileItem>> fileEnum = fileParams.GetEnumerator();            while (fileEnum.MoveNext())            {                string key = fileEnum.Current.Key;                FileItem fileItem = fileEnum.Current.Value;                string fileEntry = string.Format(fileTemplate, key, fileItem.GetFileName(), fileItem.GetMimeType());                byte[] itemBytes = Encoding.UTF8.GetBytes(fileEntry);                reqStream.Write(itemBoundaryBytes, 0, itemBoundaryBytes.Length);                reqStream.Write(itemBytes, 0, itemBytes.Length);                byte[] fileBytes = fileItem.GetContent();                reqStream.Write(fileBytes, 0, fileBytes.Length);            }            reqStream.Write(endBoundaryBytes, 0, endBoundaryBytes.Length);            reqStream.Close();            HttpWebResponse rsp = (HttpWebResponse)req.GetResponse();            Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet);            return GetResponseAsString(rsp, encoding);        }        public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)        { //直接确认,否则打不开            //writeBin("进入内部服务器");         //   writeBin("内部分析器:" + sender + "X509Certificate:" + certificate + "X509Chain:" + chain + "SslPolicyErrors:" + errors);            return true;        }              public HttpWebRequest GetWebRequest(string url, string method)        {            HttpWebRequest req = null;            if (url.Contains("https"))            {                ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);                req = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));            }                                 else            {                req = (HttpWebRequest)WebRequest.Create(url);            }            req.ServicePoint.Expect100Continue = false;            req.Method = method;            req.KeepAlive = true;            req.UserAgent = "WeixinMpSdk";            req.Timeout = this._timeout;            return req;        }        /// <summary>        /// 把响应流转换为文本。        /// </summary>        /// <param name="rsp">响应流对象</param>        /// <param name="encoding">编码方式</param>        /// <returns>响应文本</returns>        public string GetResponseAsString(HttpWebResponse rsp, Encoding encoding)        {            System.IO.Stream stream = null;            StreamReader reader = null;            try            {                // 以字符流的方式读取HTTP响应                stream = rsp.GetResponseStream();                reader = new StreamReader(stream, encoding);                return reader.ReadToEnd();            }            finally            {                // 释放资源                if (reader != null) reader.Close();                if (stream != null) stream.Close();                if (rsp != null) rsp.Close();            }        }        /// <summary>        /// 组装GET请求URL。        /// </summary>        /// <param name="url">请求地址</param>        /// <param name="parameters">请求参数</param>        /// <returns>带参数的GET请求URL</returns>        public string BuildGetUrl(string url, IDictionary<string, string> parameters)        {            if (parameters != null && parameters.Count > 0)            {                if (url.Contains("?"))                {                    url = url + "&" + BuildQuery(parameters);                }                else                {                    url = url + "?" + BuildQuery(parameters);                }            }            return url;        }        /// <summary>        /// 组装普通文本请求参数。        /// </summary>        /// <param name="parameters">Key-Value形式请求参数字典</param>        /// <returns>URL编码后的请求数据</returns>        public static string BuildQuery(IDictionary<string, string> parameters)        {            StringBuilder postData = http://www.mamicode.com/new StringBuilder();"&");                    }                    postData.Append(name);                    postData.Append("=");                    postData.Append(HttpUtility.UrlEncode(value, Encoding.UTF8));                    hasParam = true;                }            }            return postData.ToString();        }        private static bool  DownloadQrCode(string url, string saveDir, out string saveFileName, out string errHtml)        {            Stream outStream = null;            WebClient wc = null;            errHtml = string.Empty;            if (!saveDir.EndsWith("\\"))            {                saveDir += "\\";            }            saveFileName = saveDir + System.Guid.NewGuid().ToString() + ".jpg";            try            {                wc = new WebClient();                var data = http://www.mamicode.com/wc.DownloadData(url);"showqrcode") != -1)            {                return DownloadQrCode(url, saveDir, out  saveFileName, out  errHtml);            }            saveFileName = string.Empty;            errHtml = string.Empty;            bool isSuc = false;            HttpWebResponse  response = null;            HttpWebRequest request = null;            try            {                request = GetWebRequest(url, "GET");               // if (url.IndexOf("showqrcode") != -1)                //{                //    request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0";                //}                response = (HttpWebResponse)request.GetResponse();                if (!response.ContentType.ToLower().StartsWith("text/"))                {                    string disp = response.Headers.Get("Content-disposition");                    string ext = disp.Substring(disp.LastIndexOf("."));                    ext = ext.Substring(0, ext.Length - 1);                    saveFileName = saveDir;                    if (!saveFileName.EndsWith("\\"))                    {                        saveFileName += "\\";                    }                    saveFileName = saveFileName + System.Guid.NewGuid().ToString() + ext;                    SaveBinaryFile(response, saveFileName);                    isSuc = true;                }                else                {                    if (string.IsNullOrEmpty(response.CharacterSet))                    {                        errHtml = GetResponseAsString(response, Encoding.UTF8);                    }                    else                    {                        Encoding encoding = Encoding.GetEncoding(response.CharacterSet);                        errHtml = GetResponseAsString(response, encoding);                    }                    isSuc = false;                }            }            finally            {                if (response != null)                {                    response.Close();                }                if (request != null)                {                    request = null;                }            }            return isSuc;        }        // 将二进制文件保存到磁盘        private static bool SaveBinaryFile(WebResponse response, string FileName)        {            bool Value = http://www.mamicode.com/true;>

 JsonTest.cs

using System;using System.Collections.Generic;using System.Linq;using System.Web;using Newtonsoft.Json;namespace WebTest.Common{    public class JsonTest<T> where T:new()    {        public static T jsonToOrder(string jsons)        {            T t = JsonConvert.DeserializeObject<T>(jsons);            return t;        }    }}

 TestDemo1.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestDemo1.aspx.cs" Inherits="WebTest.TestDemo1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <title></title>    <script src="http://www.mamicode.com/Scripts/jquery-1.4.1.min.js" type="text/javascript"></script></head><body>    <form id="form1" runat="server">    <div>        <input id="userToken" type="text" runat="server" />       <%-- <input id="submitOK" type="button" onclick="return subAsync();">--%>        <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />    </div>    </form></body></html><script type="text/javascript">    function subAsync() {        var userMes = $("#userToken").val();        $.ajax({            url: "http://member.joycp.com/ajax/takemoney.ashx?requestType=1&j_token=" + userMes,            type: "get",            async: false,            dataType:"jsonp",            success: function (data) {                if (data != "") {                    alert(data);                } else {                    alert("数据为空了");                }            },            error: function () {                alert("出错了!");            }        });    }</script>

 TestDemo1.aspx.cs

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using WebTest.Common;namespace WebTest{    public partial class TestDemo1 : System.Web.UI.Page    {        private string myTooken = "";        protected void Page_Load(object sender, EventArgs e)        {        }        protected void Button1_Click(object sender, EventArgs e)        {            myTooken += this.userToken.Value;            SMS.Util.WebUtils uti = new SMS.Util.WebUtils();            string s = uti.DoGet(myTooken, null);            newModel mode =  JsonTest<newModel>.jsonToOrder(s);            Response.Write("状态:" + mode.Stat + "||消息:" + mode.Msg + "||时间:" + mode.Data);        }    }    public class newModel    {        public int Stat { get; set; }        public string Msg { get; set; }        public string Data { get; set; }    }    }

 

关于接收json以及使用json