首页 > 代码库 > WebService 返回json格式和返回xml格式的数据

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;        }

效果: