Изменение вывода Json ASP.net MVC - PullRequest
       10

Изменение вывода Json ASP.net MVC

1 голос
/ 15 сентября 2010

У меня есть приложение ASP.net MVC, которое получает координаты маркера из базы данных (я использую ActiveRecord) и выводит их как json для использования в картах Google.Формат, однако, не совсем правильный.Кто-нибудь знает, как я могу изменить выход?

В настоящее время вывод:

 [
    {
        "Id": 1,
        "Name": null,
        "Location": "13.79194402, 100.71588015" 
    },
    {
        "Id": 2,
        "Name": null,
        "Location": "13.79194402, 100.71588015",
...

Это должно быть:

{
"locations": [
    {
        "Id": 1,
        "Name": null,
        "Location": "13.79194402, 100.71588015" 
    },
    {
        "Id": 2,
        "Name": null,
        "Location": "13.79194402, 100.71588015",
...

Код контроллера:

public ActionResult Map()
    {
        var map = DeviceLocation.FindAll();
        return Json(map, JsonRequestBehavior.AllowGet);
    }

А как мне общаться с БД:

[ActiveRecord("Location")]
    public class DeviceLocation : ActiveRecordValidationBase<DeviceLocation> 
    {
        private int _id;
        private string _name;
        private string _location;

        [PrimaryKey("Id")]
        public int Id
        {
            get { return _id; }
            set { _id = value; }
        }

        [Property("Name")]
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }

        [Property("Coords")]
        public string Location
        {
            get { return _location; }
            set { _location = value; }
        }

1 Ответ

1 голос
/ 15 сентября 2010

Это должно сделать работу:

public ActionResult Map()
{
    var map = DeviceLocation.FindAll();
    var locations = new { Locations = map };
    return Json(locations, JsonRequestBehavior.AllowGet);
}

Перед возвратом местоположений вы назначаете его свойству Locations анонимного типа.Это заставит JsonResult отформатировать вывод так, как вы этого хотите.

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