I need my web service to return JSON…
I have the following code in my .asmx file:
namespace Feed
{
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class searchPerson : System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public Person GetDave()
{
Person dave = new Person();
dave.FirstName = "Dave";
dave.LastName = "Ward";
return dave;
}
}
}
Which returns the following:
<?xml version="1.0" encoding="utf-8"?>
<Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
<FirstName>Dave</FirstName>
<LastName>Ward</LastName>
</Person>
How do I force it to return JSON instead of XML?
Your webservice definition looks correct. Ensure that you are calling the service through a post and remember that the key is specifying the ‘content type’ header as
application/json.(This is using jQuery but you could use low level javascript if you like)