У меня есть функция с типом возврата List. Я использую это в WebService с поддержкой JSON, например:
[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public List<Product> GetProducts(string dummy) /* without a parameter, it will not go through */
{
return new x.GetProducts();
}
это возвращает:
{"d":[{"__type":"Product","Id":"2316","Name":"Big Something ","Price":"3000","Quantity":"5"}]}
Мне нужно использовать этот код и в простом aspx-файле, поэтому я создал JavaScriptSerializer:
JavaScriptSerializer js = new JavaScriptSerializer();
StringBuilder sb = new StringBuilder();
List<Product> products = base.GetProducts();
js.RegisterConverters(new JavaScriptConverter[] { new ProductConverter() });
js.Serialize(products, sb);
string _jsonShopbasket = sb.ToString();
но возвращается без типа:
[{"Id":"2316","Name":"Big One ","Price":"3000","Quantity":"5"}]
Кто-нибудь знает, как заставить вторую сериализацию работать как первую?
Спасибо!