2012-03-07 2 views
1

Как изменить имя названий полей в Json-выходе Я хочу, чтобы имя класса cook и поле «time1» было чем-то другим. Я использую класс контроллера asp.net mvc для возврата результата json.asp.net mvc json Сериализация атрибутов

public class Cook 
    { 
     public string time1; 
     public string time2; 
     public string time3; 

    } 

ответ

2

А что-то вроде этого ...

public ActionResult GetCook() 
{ 
    var cook = new Cook(); 
    return Json(new 
    { 
     atime = cook.time1, 
     anothertime = cook.time2, 
     yetanothertime = cook.time3 
    }); 
} 
+0

У меня есть имена со специальными символами, где я не могу иметь это как имена свойств. – pili

+0

Если вам нужен лучший ответ, вы можете быть более конкретным о том, что вы пытаетесь получить. В конце концов, вам может понадобиться просто написать свой JSON. Формат довольно прост (http://www.json.org/). – Brian

0

Вы можете написать свой собственный атрибут и доступа к этому значению через ViewData.ModelMetadata (убедитесь, что ваш класс атрибута реализует IMetadataAware). Затем создайте свой собственный класс JSON, который помещает все ваши свойства и его значения в словарь. Ключом для каждого свойства будет имя, указанное вами в вашем настраиваемом атрибуте.

Возможно, это звучит немного загадочно, но если вы считаете, что вам нравится этот подход, я могу привести пример кода. Удачи!

Смежные вопросы