Я создаю службу в ASP .NET Core 2.1 и не могу получить ответ Json с атрибутом класса.
Это класс ShopItem:
[JsonObject(MemberSerialization.OptIn)]
public class ShopItem
{
[JsonProperty]
public int id { get; set; }
[JsonProperty]
public String ItemName { get; set; }
[JsonProperty]
public string ItemQty { get; set; }
[JsonProperty]
public int ListId { get; set; }
public ShopItem()
{
}
[JsonConstructor]
public ShopItem(int _id, String _ItemName, string _ItemQty, int _ListId)
{
id = _id;
ItemName = _ItemName;
ItemQty = _ItemQty;
ListId = _ListId;
}
}
Это класс ShopList, содержащий списокпредметов магазина
[JsonObject(MemberSerialization.OptIn)]
public class ShopList
{
[JsonProperty]
public int id { get; set; }
[JsonProperty]
public String ListName { get; set; }
[JsonProperty]
public string Store { get; set; }
[JsonProperty]
public int UserId { get; set; }
[JsonProperty]
public List<ShopItem> list = new List<ShopItem>();
public ShopList()
{
}
public ShopList(int _id, String _ListName, string _Store, int _UserId)
{
id = _id;
ListName = _ListName;
Store = _Store;
UserId = _UserId;
}
}
Это мой класс контроллера
[Route("api/[action]")]
public class ShopListsRetriveControler : Controller
{
//get all Shoping lists
// GET: api/<controller>
[ActionName("GetAllShopLst")]
[HttpGet]
public List<ShopList> getAllLists()
{
return DAL._GetAllShopLst();
//return Ok(DAL._GetAllShopLst());
}
[HttpGet("getAllListsRecords")]
public JsonResult getAllListsRecords()
{
JsonResult jr = Json(DAL._GetAllShopLst());
Newtonsoft.Json.JsonSerializerSettings jsonSerializerSettings = new Newtonsoft.Json.JsonSerializerSettings();
jsonSerializerSettings.TypeNameHandling = Newtonsoft.Json.TypeNameHandling.All;
return Json(DAL._GetAllShopLst(),jsonSerializerSettings);
}
}
Результат моего кода:
{
"list": [
{
"id": 1,
"itemName": "Stvar1",
"itemQty": "1 kom",
"listId": 1
},
{
"id": 2,
"itemName": "Stvar2",
"itemQty": "2 kom",
"listId": 1
},
{
"id": 3,
"itemName": "Stvar3",
"itemQty": "3 kom",
"listId": 1
},
]
"id": 1,
"listName": "Lista1",
"store": " ",
"userId": 0
}
Как я могу получить имена типов в ответ.Я много гуглю, но не могу найти то, чего не хватает.