您的位置:首页 > Web前端 > JavaScript

WebService 返回json格式和返回xml格式的数据

2017-04-24 18:43 399 查看
返回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;
}


效果:



 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐