How do I return JSON from an Azure Function How do I return JSON from an Azure Function azure azure

How do I return JSON from an Azure Function


Here's a full example of an Azure function returning a properly formatted JSON object instead of XML:

#r "Newtonsoft.Json"using System.Net;using Newtonsoft.Json;using System.Text;public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log){    var myObj = new {name = "thomas", location = "Denver"};    var jsonToReturn = JsonConvert.SerializeObject(myObj);    return new HttpResponseMessage(HttpStatusCode.OK) {        Content = new StringContent(jsonToReturn, Encoding.UTF8, "application/json")    };}

Navigate to the endpoint in a browser and you will see:

{  "name": "thomas",  "location": "Denver"}


The easiest way is perhaps to

public static async Task<IActionResult> Run(    [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "/jsontestapi")] HttpRequest req,    ILogger log){    return new JsonResult(resultObject);}

Will set the content-type to application/json and return the json in the response body.


You can take req from

public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)

and create the response using

return req.CreateResponse(HttpStatusCode.OK, json, "application/json");

or any of the other overloads in assembly System.Web.Http.

More info on docs.microsoft.com