C# Azure函数-如何在配置文件中插入阵列

C# Azure函数-如何在配置文件中插入阵列,c#,arrays,json,azure,C#,Arrays,Json,Azure,正如建议的那样,我正在使用local.settings.json文件来存储Azure函数的应用程序设置。我可以访问以下示例中应用程序设置的值 { "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "", "AzureWebJobsDashboard": "" }, "Con

正如建议的那样,我正在使用local.settings.json文件来存储Azure函数的应用程序设置。我可以访问以下示例中应用程序设置的值

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "AzureWebJobsDashboard": ""
  },
  "ConnectionStrings": {
    "SQLConnectionString": "myConnectionString"
  }
}
使用
ConfigurationManager.ApplicationSettings[“someValue”]
或使用
ConfigurationManager.ConnectionStrings[“SQLConnectionString”]
连接字符串。 但是,当我尝试将数组作为值之一插入时:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "AzureWebJobsDashboard": "",
    "myArray": [
      {
        "key1": "value1",
        "key2": "value2"
      },
      {
        "key1": "value3",
        "key2": "value4"
      }
    ]
  },
  "ConnectionStrings": {
    "SQLConnectionString": "myConnectionString"
  }
}
我开始出现异常(例如,当我尝试访问连接字符串时)。所以我猜我没有使用正确的数组格式。
可以在local.settings.json文件中使用数组吗?如果可以,正确的格式是什么?

根据azure函数源代码,您可以发现它有一个AppSettingsFile类,用于从local.settings.json文件读取设置

AppSettingsFile类的某些部分:

        public AppSettingsFile(string filePath)
        {
            _filePath = filePath;
            try
            {
                var content = FileSystemHelpers.ReadAllTextFromFile(_filePath);
                var appSettings = JsonConvert.DeserializeObject<AppSettingsFile>(content);
                IsEncrypted = appSettings.IsEncrypted;
                Values = appSettings.Values;
                ConnectionStrings = appSettings.ConnectionStrings;
                Host = appSettings.Host;
            }
            catch
            {
                Values = new Dictionary<string, string>();
                ConnectionStrings = new Dictionary<string, string>();
                IsEncrypted = true;
            }
        }

        public bool IsEncrypted { get; set; }
        public Dictionary<string, string> Values { get; set; } = new Dictionary<string, string>();
        public Dictionary<string, string> ConnectionStrings { get; set; } = new Dictionary<string, string>();
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "AzureWebJobsDashboard": "",
    "arrary1-key1": "value1",
    "arrary1-key2": "value2",
    "arrary2-key1": "value3",
    "arrary2-key2": "value4"
  },
  "ConnectionStrings": {
    "SQLConnectionString": "myConnectionString"
  }
}