Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

466
Visualizações
¿Cómo codificar y leer una matriz de cadenas en appSettings.json?

Yo uso VSCode y NetCore 1.1.1.

Necesito almacenar varias rutas de datos en mi appsetting.json para que mi aplicación de consola sepa dónde buscar sus datos.

Este es un extracto del archivo appsettings.json:

 { "ConnectionStrings": { "Database": "Filename=./Data/Database/securities_master.db" }, "Data": { "Folders": ["E:/Data/Folder1/","E:/Data/Folder2/"] } }

Cargo el archivo de configuración y quiero que la matriz "Carpetas" se almacene en una variable:

 const string APP_SETTINGS_SECTION = "Data"; const string APP_SETTINGS_KEY = "Folders"; var builder = new ConfigurationBuilder().AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); var configuration = builder.Build(); var dataFolders = configuration.GetSection(APP_SETTINGS_SECTION)[APP_SETTINGS_KEY];

dataFolders es NULL !

Si cambio mi appsetting.json para que apunte solo a un único directorio como este, todo funciona:

 { "ConnectionStrings": { "Database": "Filename=./Data/Database/securities_master.db" }, "Data": { "Folders": "E:/Data/Folder1/" } }

dataFolder = " E:/Datos/Carpeta1/ "

Entonces, el problema parece ser que no le gusta la matriz de cadenas, pero para mí parece una matriz de cadenas Json válida. ¿Cómo debo modificar mi configuración de aplicaciones (o mi código C#) para solucionar esto?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

El indexador de una sección devuelve una cadena por coincidencia de clave exacta, y dado que los valores de matriz tienen claves con sufijos, no hay nada que coincida con la clave dada y obtienes un valor nulo.

Para que funcione, puede usar algo como esto

 var section = configuration.GetSection($"{APP_SETTINGS_SECTION}:{APP_SETTINGS_KEY}"); var folders = section.Get<string[]>();

Y mira esto para más opciones.

over 4 years ago · Santiago Trujillo Relatório

0

Respuesta original de aquí: https://stackoverflow.com/a/42169474/7263255

Funciona así:

 var someArray = configuration .GetSection("SomeArray") .GetChildren() .Select(x => x.Value) .ToArray();
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda