我的场景:将JSON数据传递给函数应用程序以执行一些业务功能,例如将输入的JSON转换为正确的格式,为此,我使用了foreach循环并创建了json字符串。
abopve场景在本地VS2017中按预期方式工作,但是在发布之后以及从逻辑应用程序调用时会引发错误。
要进行手动检查,我将整个代码复制到了功能应用程序(Azure门户)中,并在我调用功能应用程序时进行了检查,它显示了一些与JSON相关的错误。
然后我在另一个data[0].columns.Count
的顶部添加了另一个foreach,并尝试将其计为foreach
totalData["columns"].Count
上的子值。 (当我将Newtonsoft.Json.Linq.JProperty
放置到data[0].columns.Count
时)请您帮我一下,功能应用程序如何提供与VS2017输出相同的输出。或在功能应用中使用json。
答案 0 :(得分:0)
因为您说过您在门户网站中遇到错误,然后将代码发布为本地函数。所以我写了一个简单的代码来从请求中读取json数据。而且您没有提到json模式,因此以下是我的测试json数据和CSX
代码。
[
{"columns":{
"count":1
},
"rows":[1,2]},
{"columns":{
"count":2
},
"rows":[3,4]}]
function.csx:
using System.Net;
public static async Task Run(HttpRequestMessage req, TraceWriter log)
{
log.Info("C# HTTP trigger function processed a request.");
// Get request body
dynamic data = await req.Content.ReadAsAsync<object>();
int count = data[1].columns.count;
int row = data[1].rows[0];
log.Info("colums: "+count.ToString()+" row:"+row);
}
这是结果图片:
如果此json数据不是您想要的,或者您还有其他问题,请随时让我知道或提供更多详细信息。