Как определить свойство C # для объекта Json в ASP.NET MVC? - PullRequest
0 голосов
/ 04 апреля 2019
<b>++ Model</b>

    public class Product{
        public int ProductId { get; set; }
        public string ProductName { get; set; }

        public DataTable dt = new DataTable();
        public Category Category = new Category();
    }

<b>++Controller</b>

    public JsonResult Index(){
        Product dto = new Product();
        dto.ProductId = 1;
        dto.ProductName = "Coca Cola";
        return Json(dto, JsonRequestBehavior.AllowGet);
    }

Что касается конкретного объекта Json, я имею в виду, нужен только ProductId, ProductName и другие, нет необходимости в объекте Json.

<b>++Want</b>

    {
        "ProductId": 1,
        "ProductName": "Coca Cola"
    }

Ответы [ 4 ]

4 голосов
/ 04 апреля 2019

Вы можете использовать атрибут [ScriptIgnore] из System.Web.Script.Serialization для каждого свойства, которое вы хотите исключить из объекта при сериализации или десериализации:

  using System.Web.Script.Serialization;

  public class Product{
        public int ProductId { get; set; }
        public string ProductName { get; set; }

        [ScriptIgnore]
        public DataTable dt = new DataTable();
        [ScriptIgnore]
        public Category Category = new Category();
    }
2 голосов
/ 04 апреля 2019

В том же классе создайте две функции, возвращающие логическое значение следующим образом:

 public bool ShouldSerializedt()
 {
      return false;
 }

 public bool ShouldSerializeCategory()
 {
      return false;
 }

Функция возвращает логическое значение.Его имя ShouldSerialize<<PropertyName>>, а возвращаемый тип логического элемента управления поведением сериализации

0 голосов
/ 04 апреля 2019

Пометьте поле, которое вы хотите исключить, с помощью [JsonIgnore]

0 голосов
/ 04 апреля 2019

Лучше всего использовать механизм сериализации C #.Вам может понадобиться отдельный класс для этой «ограниченной» сериализации (на случай, если вы хотите, чтобы эти свойства сериализовались в других сценариях), но это должно быть сделано.Посмотрите здесь: Как исключить свойство из сериализации Json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...