Как правильно загрузить файл конфигурации в формате Json?C#

Место общения программистов C#
Ответить
Anonymous
 Как правильно загрузить файл конфигурации в формате Json?

Сообщение Anonymous »

У меня вопрос, связанный с Json. Позвольте мне начать с примера моего Json:

Код: Выделить всё

{
"watch": [
{
"path": "C:/Temp",
"conditions": "*.log",
"actions": ""
},
{
"path": "C:/Temps",
"conditions": ".log",
"actions": ""
}
]
}
Я хочу смотреть каталоги. Итак, у моего Json будет массив данных.
Я хотел бы перекрестно проверить, правильно ли я что-то делаю. Я разработчик C#, но я совсем новичок в .NET Core. Обычно я загружаю свой файл Json, используя сериализацию из пакета Newtonsoft. У меня такое ощущение, что с .NET Code мы делаем это немного по-другому. Я делаю это:

Код: Выделить всё

        static void Main(string[] args)
{
var configurationBuilder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("config.json", optional: true, reloadOnChange: true)
.Build();
}
Тогда я смогу получить доступ к своим данным, используя это

Код: Выделить всё

configurationBuilder["watch:0:path"]
"C:/Temp"
Отлично, но это не то, чего я хочу. Я хочу зациклить свой массив. При использовании ConfigurationBuilder у меня такое ощущение, что я не могу использовать данные в качестве цикла. Кажется, что все данные из файла конфигурации являются ключом
Изображение

Это логично, потому что мой файл конфигурации может быть чем угодно. Разработчик не гарантирует, что мой массив всегда будет содержать одни и те же объекты. Таким образом, строитель рассматривает каждый элемент в моих массивах как уникальный токен. Я могу это понять.
Итак, как мне загрузить свою конфигурацию или этот Json-файл в структурированный объект? Есть ли способ лучше загрузить это как файл конфигурации? Потому что на самом деле у меня есть 2 объекта в моем массиве, и я хотел бы зациклить их. Для каждого объекта я что-то делаю.

Подробнее здесь: https://stackoverflow.com/questions/680 ... le-as-json
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»