Использование другого имени в ответ при десериализации json в веб-API ASP.NET Core 8.C#

Место общения программистов C#
Ответить
Anonymous
 Использование другого имени в ответ при десериализации json в веб-API ASP.NET Core 8.

Сообщение Anonymous »

Мы используем веб-API ASP.NET Core 8. Я прочитал этот пост, но использую System.Text.Json. Так что это не повторяющийся вопрос.
Мои цели:
  • прочитать json как строку в WEB API< /li>
    затем десериализуйте его в класс FooDto и верните клиентам WEB API.
Я прочитал следующий json из базы данных в виде строки:

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

{
"product_id": 1
}
Класс dto выглядит следующим образом:

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

public class FooDto
{
[JsonPropertyName("product_id")]
public long? ProductId { get; set; }
}
Код, который я пробовал, выглядит следующим образом:

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

JsonSerializer.Deserialize(json);
Кроме того, я пробовал вот так:

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

JsonSerializerOptions serializeOptions = new ()
{
PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower,
WriteIndented = true
};
JsonSerializer.Deserialize(json, serializeOptions);
Однако результат ответа метода ASP.NET Core Web API 8 выглядит следующим образом:

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

{
"product_id": 1
}
Но желаемый результат должен выглядеть так. Я имею в виду, что веб-API должен возвращать клиентам следующий результат:

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

{
"productId": 1
}
Можно ли использовать имя свойства C# при десериализации json?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -8-web-api
Ответить

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

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

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

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

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