Изменить json имя поля в ответе контроллера API - PullRequest
0 голосов
/ 27 марта 2020

Допустим, у меня есть контроллер с методом get:

[HttpGet]
public Car Get()
{
    return new Car() { Color = "Yellow" };
}

А также определен класс Car

public class Car {
   [JsonProperty(PropertyName = "TheColorIs")]
   public string Color {get;set;}
}

Клиент получает что-то подобное в формате json : {"Color": "Yellow"} Почему в ответе json "TheColorIs" не указано имя свойства? Спасибо

Ответы [ 2 ]

1 голос
/ 30 марта 2020

Я полагаю, вы используете ASP. NET Core 3.x, который использует System.Text.Json вместо Newtonsoft.Json. Так что вы должны использовать JsonPropertyNameAttribute Class из System.Text.Json.Serialization namespace:

public class Car
{
    [JsonPropertyName("TheColorIs")]
    public string Color { get; set; }
}
0 голосов
/ 27 марта 2020

Я думаю, что тип атрибута не соответствует вашему типу сериализатора, так же, как вы используете System.Text. Json .JsonSerializer, но вы используете Newtonsoft. Json .JsonProperty.

...