我有一个返回类型为 List 的函数。我在启用 JSON 的 WebService 中使用它,例如:
[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"}]
有谁知道如何让第二个序列化工作像第一个一样?
谢谢!