我通过在Visual Studio中创建新网站和添加新的Web服务,使用C#创建了简单的Web服务。我还在IIS8中为它创建了站点并在那里放置了服务。服务工作正常并返回XML作为答案,但现在我需要返回JSON格式甚至更好 - 两种格式都可以在单独的地址中使用。怎么实现呢?我应该使用web.config文件管理某些内容,还是必须进行一些编码?
web.config文件内容:
<configuration>
<system.web>
<compilation targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
</configuration>
答案 0 :(得分:0)
您应该通过使用ScriptMethod
属性进行装饰来更改网络方法的响应格式,并使用JavaScriptSerializer
返回数据。 That文章有一个完整的例子,我将在下面发布:
public class MyServiceClass
{
[WebMethod]
public Employee[] GetEmployessXML()
{
Employee[] emps = new Employee[] {
new Employee()
{
Id=101,
Name="Nitin",
Salary=10000
},
new Employee()
{
Id=102,
Name="Dinesh",
Salary=100000
}
};
return emps;
}
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string GetEmployessJSON()
{
Employee[] emps = new Employee[] {
new Employee()
{
Id=101,
Name="Nitin",
Salary=10000
},
new Employee()
{
Id=102,
Name="Dinesh",
Salary=100000
}
};
return new JavaScriptSerializer().Serialize(emps);
}
}