Azure Functions – Convert Json to Xml with newtonsoft
2016, Aug 03
I’m in the midst of putting together a few Azure Functions to use with Logic Apps.
This one is pretty simple, and demonstrates a couple of concepts so I thought I’d share.
{ "bindings": [ { "name": "req", "type": "httpTrigger", "direction": "in", "webHookType": "genericJson" }, { "name": "res", "type": "http", "direction": "out" } ], "disabled": false }
#r "Newtonsoft.Json" using System; using System.Net; using System.Xml; using Newtonsoft.Json; public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log) { log.Info($"C# HTTP trigger function processed a request. RequestUri={req.RequestUri}"); string jsondoc = await req.Content.ReadAsStringAsync(); if (jsondoc == null ) { return req.CreateResponse(HttpStatusCode.BadRequest, new { error = "Please post JsonDoc" }); } else { try { //dynamic data = JsonConvert.DeserializeObject(jsondoc); //log.Info($"{data.ModuleHeader.SignOnDate}"); //create root XmlDocument xDoc = JsonConvert.DeserializeXmlNode(jsondoc, "newrootnode"); log.Info($"{xDoc.OuterXml}"); return req.CreateResponse(HttpStatusCode.OK, xDoc.OuterXml); } catch(Exception ex){ log.Info($"{ex.ToString()}"); return req.CreateResponse(HttpStatusCode.BadRequest, new { error = $"Error parsing jsondocument {ex.Message}" }); } } }
{ "frameworks": { "net46": { "dependencies": { "Newtonsoft.Json": "9.0.1" } } } }