Подтвердить что ты не робот

Почему веб-службы ASP.NET JSON возвращают результат в 'd'?

Я написал некоторые веб-службы ASP.NET, которые используют кодировку JSON, a la:

[WebInvoke()]
[OperationContract]
public int SetInformation(int recordid, string data)
{
    return 42;
}

а возвращаемый JSON:

{"d": 42}

Почему параметр с именем d? Могу ли я это контролировать? Скажем, e?

Для справки несколько аналогичных вопросов, которые я, наконец, смог выкопать:

4b9b3361

Ответ 1

Это функция безопасности, которая препятствует возврату JSON из возможности напрямую выполнять javascript внутри оператора Eval. Или что-то очень похожее в этом направлении.

Дополнительная информация по этой теме: http://encosia.com/a-breaking-change-between-versions-of-aspnet-ajax/ см. раздел Waiter, there’s a .d in my msg soup!