リストリターン型の関数があります。私はこれを次のようなJSON対応のWebサービスで使用しています。
[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"}]
誰かが最初のように2番目のシリアル化を機能させる方法の手がかりを持っていますか?
ありがとう!