загрузка json в web api

как корректно в webapi прочитать json файл если загрузка производится с помощью

<input type="file" name="upload" id="uploadFile" /><br />
<button id="submit">Загрузить</button>

Ответы (1 шт):

Автор решения: Александр Писковой

Вся функциональность по работе с JSON в .NET Core находится в пространстве имен System.Text.Json.

Для работы с файлами JSON вам нужен класс, имена свойств которого должны совпадать с именами полей в файле, либо использовать аттрибут [JsonPropertyName("field_name")] над свойством для адаптации имени.

Например, пусть у нас будет JSON файл описывающий человека и который содержит поля Name и Email.

{
    "Name": "Василий",
    "Email": "[email protected]"
}

Тогда класс будет выглядеть следующим образом.

public class JsonPerson
{
    public string Name { get; set; }
    public string Email { get; set; }
}

Десереализовать его можно с помощью метода JsonSerializer.Deserialize<JsonPerson>(jsonString), который принимает в качестве параметра строку типа string и возвращает объект того типа, которым обобщён. Тем самым на выходе вы получаете объект со всеми теми значениями полей, которые были в JSON файле.

→ Ссылка