I "solved" this by creating our own JSON objects in .NET (which only contains the data we wish to expose), and using Jimmy Bogards legendary AutoMapper to map from WebNodes classes to JSON Classes.
Finally i serialzed the JSON classes using System.Web.Script.Serialization.JavaScriptSerializer. I used an ashx handler for this.
public void ProcessRequest(HttpContext context) {
AutoMapper.Mapper.CreateMap<ArgusBlankett, JSONBlankett>();
List<JSONBlankett> jsonList = AutoMapper.Mapper.Map<List<ArgusBlankett>,
List<JSONBlankett>>(ArgusKunde.GetCurrent().GetBlanketter());
JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
string jsondata = javaScriptSerializer.Serialize( jsonList );
context.Response.ContentType = "application/json";
context.Response.ContentEncoding = System.Text.Encoding.UTF8;
context.Response.Write(jsondata);
}
http://blog.degree.no/2012/01/custom-mapping-no-i-use-automapper/