Why do ASP.NET JSON web services return the result in ‘d’?

Why do ASP.NET JSON web services return the result in ‘d’?

I wrote some ASP.NET web services that use JSON encoding, a la:
[WebInvoke()]
[OperationContract]
public int SetInformation(int recordid, string data)
{
return 42;
}

and the returned JSON is:
{“d”: 42}

Why is the parameter named d? Can I control that? Say, to e?
For reference, a few similar questions I’ve finally been able to dig up:

What does .d in JSON mean?
How to change ASP.NET WebMethod’s ‘d’ identifier in a JSON response, to a different name?
Returning HTML from JSON webservice – what is the “.d”?

Solutions/Answers:

Solution 1:

This is a “security” feature that prevents the JSON from being returned from being able to be directly executed javascript inside an Eval statement. Or something very similar along these lines.

More information on this topic: http://encosia.com/a-breaking-change-between-versions-of-aspnet-ajax/ take a look at the section labeled Waiter, there’s a .d in my msg soup!

References

Related:  Windows service, can't access app.config from within my Installer's constructor