Azure 逻辑应用程序 - 显示 text/plain 而不是 XML
Azure Logic Apps - Show text/plain instead of XML
我有一个 Azure 逻辑应用程序 Request/Response,它正在查询 SQL 数据库并给出以下响应:
{
"Table1": [{
"IP": "123"
}, {
"IP": "12345678"
}, {
"IP": "7777"
}, {
"IP": "999999"
}]
}
但我想要一个平面文本文件,例如:
123
12345678
7777
999999
这可能吗?
您可以轻松解决添加 Azure 函数的问题,该函数将提取您需要的信息并从您的逻辑应用程序中调用它:
https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-azure-functions
#r "Newtonsoft.Json"
using System.Net;
using Newtonsoft.Json;
public class Table1
{
public string IP { get; set; }
}
public class RootObject
{
public List<Table1> Table1 { get; set; }
}
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
log.Info("C# HTTP trigger function processed a request.");
// Get request body
dynamic data = await req.Content.ReadAsAsync<object>();
var root = JsonConvert.DeserializeObject<RootObject>(data.ToString());
var ips = new List<string>();
foreach(var table1 in root.Table1)
ips.Add(table1.IP);
var output = string.Join("\n", ips);
return req.CreateResponse(HttpStatusCode.OK, output);
}
我有一个 Azure 逻辑应用程序 Request/Response,它正在查询 SQL 数据库并给出以下响应:
{
"Table1": [{
"IP": "123"
}, {
"IP": "12345678"
}, {
"IP": "7777"
}, {
"IP": "999999"
}]
}
但我想要一个平面文本文件,例如:
123
12345678
7777
999999
这可能吗?
您可以轻松解决添加 Azure 函数的问题,该函数将提取您需要的信息并从您的逻辑应用程序中调用它:
https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-azure-functions
#r "Newtonsoft.Json"
using System.Net;
using Newtonsoft.Json;
public class Table1
{
public string IP { get; set; }
}
public class RootObject
{
public List<Table1> Table1 { get; set; }
}
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
log.Info("C# HTTP trigger function processed a request.");
// Get request body
dynamic data = await req.Content.ReadAsAsync<object>();
var root = JsonConvert.DeserializeObject<RootObject>(data.ToString());
var ips = new List<string>();
foreach(var table1 in root.Table1)
ips.Add(table1.IP);
var output = string.Join("\n", ips);
return req.CreateResponse(HttpStatusCode.OK, output);
}