Результаты действий, закодированные с использованием JsonResult
, кажутся излишне подробными в их сериализации. Например:
{"foo":"bar","list":["a","b"],"map":{"a":1,"b":2,"c":3}}
JavaScript, кажется, вполне доволен этой более короткой версией в качестве эквивалента:
{foo:"bar",list:["a","b"],map:{a:1,b:2,c:3}}
Итак, это двоякий вопрос:
Есть ли причина, по которой первое лучше, если все мои ярлыки являются действительными идентификаторами JavaScript?- Могу ли я заставить платформу ASP.NET MVC кодировать мои сообщения с использованием этого более короткого синтаксиса?
Я пишу довольно тяжелое приложение с AJAX и подсчитал, что я бы сэкономил от 15% до 20% на размере сообщения. Во многих случаях разница между помещением ответа в один пакет TCP или нет. Даже если не брать во внимание производительность, такое сокращение моего ежемесячного счета за пропускную способность было бы благом.
ИЗМЕНИТЬ
Как указывает Джастин, кавычки необходимы в соответствии со стандартом JSON, но мне они не нужны в браузере для использования на чистом JavaScript. Могу ли я заставить веб-фреймворк .NET отбрасывать кавычки каким-либо способом, который проще, чем писать собственный сериализатор JSON?