я выполнить запрос, который возвращает мне список заказов клиентов:Как получить список объектов в правильный формат JSON?
SELECT cust_no, cust_name, order_no, order_name FROM CustomerOrders
В моем Controller Action
методе я делаю следующее (_context
это мой DataContext
):
var results = _context.CustomerOrders.ToList();
return Json(results, JsonRequestBehavior.AllowGet);
Когда я инспектировать это отладчик, я вижу список объектов, но не слишком хорошо знаком с Json, я не уверен, как это будет выглядеть, когда это как строка Json. Формат Я хочу это:
{
"Customer": {
"cust_no": "123",
"cust_name": "john",
"Orders": [
{
"order_no": "1",
"order_name": "order1"
},
{
"order_no": "2",
"order_name": "order2"
}
]
},
"Customer": {
"cust_no": "456",
"cust_name": "jane",
"Orders": [
{
"order_no": "3",
"order_name": "order3"
},
{
"order_no": "4",
"order_name": "order4"
}
]
}
}
В настоящее время я могу получить в этом:
{ Customer = "123", cust_name = "John", Orders = "1", oder_no = "order1" }
с:
_context.CustomerOrders.Select(x => new
{
Customer= x.cust_no, x.cust_name,
Orders = x.order_no, x.order_name});
public ActionResult GetCustomerOrders()
{
JsonResult result = null;
try
{
var results = new {Customers = _context.CustomerOrders.ToList()};
return Json(results,JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
//Log
}
return result;
}
Как вы проверяете, что строка JSON будет выглядеть? Когда я делаю: 'result = Json (new {Customers = _context.CustomerOrders.ToList()}, JsonRequestBehavior.AllowGet', я просто вижу список объектов, а не форматированную строку JSOn. – Xaisoft
Я не вижу строку JSON в свойство Data, когда я вхожу в метод. Я просто вижу список объектов. Я отправлю свой полный метод. – Xaisoft
@Xaisoft Вы можете увидеть строковое представление своего объекта, перейдя по URL-адресу действия вашего контроллера, которое возвращает JSON Я бы использовал Firefox или Chrome. Я * думаю * IE захочет, чтобы вы его загрузили, если вы перейдете на него. – mitch