zoukankan      html  css  js  c++  java
  • WebService 返回json格式和返回xml格式的数据

    返回json格式

    //using System.Web.Script.Services;
            [WebMethod]
            [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
            public void HelloWorld()
            {
                Context.Response.Clear();
                Context.Response.ContentType = "application/json";
                Model.User.User_User user = new Model.User.User_User();
                user.UserName = "我们";
                user.UID = 1;
                user.UserPassWord = "123456";
                Jayrock.Json.JsonTextWriter writer = new Jayrock.Json.JsonTextWriter();
                Jayrock.Json.Conversion.JsonConvert.Export(user, writer);
                Context.Response.Write(writer.ToString());
            }

    效果:

    返回xml格式

    [WebMethod]
            public XmlDocument HelloWorld()
            {
                downList doo = new downList();
                List<file> flist = new List<file>();
                file f = new file();
                f.name = "test";
                f.value = "t";
                flist.Add(f);
                List<sql> slist = new List<sql>();
                List<desc> dlist = new List<desc>();
                version ver = new version();
    
                doo.version = ver;
                doo.sqlList = slist;
                doo.fileList = flist;
    
                XmlDocument XmlDoc = new XmlDocument();
                string xmlstring = Utility.Tool.Serialize(doo);
                XmlDoc.LoadXml(xmlstring);
                return XmlDoc;
            }
    public class downList
        {
            public List<file> fileList;
    
            public List<sql> sqlList;
    
            public version version;
    
            public List<desc> descList; 
    
            public int result;
        }
    
    
    
        public class sql
        {
            [XmlText]
            public string value;
        }
    
        [Serializable]
        public class file
        {
            [XmlAttribute]
            public string name;
    
            [XmlText]
            public string value;
        }
    
        public class desc
        {
            [XmlText]
            public string value;
        }
    
        [Serializable]
        public class version
        {
            [XmlAttribute]
            public string name;
        }
    /// <summary>
            /// 将指定的对象序列化为XML格式的字符串并返回。
            /// </summary>
            /// <param name="o">待序列化的对象</param>
            /// <returns>返回序列化后的字符串</returns>
            public static string Serialize(Object o)
            {
                string xml = "";
                try
                {
                    XmlSerializer serializer = new XmlSerializer(o.GetType());
                    using (MemoryStream mem = new MemoryStream())
                    {
                        using (XmlTextWriter writer = new XmlTextWriter(mem, Encoding.UTF8))
                        {
                            writer.Formatting = Formatting.Indented;
                            XmlSerializerNamespaces n = new XmlSerializerNamespaces();
                            n.Add("", "");
                            serializer.Serialize(writer, o, n);
    
                            mem.Seek(0, SeekOrigin.Begin);
                            using (StreamReader reader = new StreamReader(mem))
                            {
                                xml = reader.ReadToEnd();
                            }
                        }
                    }
                }
                catch { xml = ""; }
                return xml;
            }

    效果:

  • 相关阅读:
    现身说法“好奇心害死人啊”
    代码错误集合(全是低级错误,欢迎高手前来指教)
    Return from TAOKEE
    泡了DOUBAN一个下午,思考中。。。
    买了两本书
    PDFBox,PDF文件处理
    数据库营销,DM杂志
    一个JS写的时间选择显示的控件,源文件下载
    WEB2.0新想法,让明星还有你无所遁行,让你我都做“狗仔队”
    hdu 1237 简单计算器 (栈的简单应用)
  • 原文地址:https://www.cnblogs.com/hougelou/p/3793156.html
Copyright © 2011-2022 走看看