如何在C#中压缩json响应

时间:2014-01-24 12:38:19

标签: c# c#-4.0 nancy

目前,我正在将数据表转换为json,它工作正常。

问题是我想压缩响应。有人建议我。 WSID ... 我想要这样的东西: - https://gist.github.com/chrisnicola/1147568

            using (PooledConnection pooledConnection = AdomdConnectionPool.GetConnection(connstring))
            {
                // Execute the query
                AdomdDataAdapter adapter = new AdomdDataAdapter(q, pooledConnection.Connection);
                DataTable x = new DataTable();
                adapter.Fill(x);

                System.Web.Script.Serialization.JavaScriptSerializer serializer = new

                System.Web.Script.Serialization.JavaScriptSerializer();

                List<object> header = new List<object>();
                List<List<object>> rows = new List<List<object>>();

                foreach (DataColumn col in x.Columns)
                {
                    header.Add(col.ColumnName.Trim());
                }

                foreach (DataRow row in x.Rows)
                {
                    List<object> rowtemp = new List<object>();
                    foreach (DataColumn col in x.Columns)
                    {
                        rowtemp.Add(row[col]); //For Row 24012014----- Rohit
                    }
                    rows.Add(rowtemp);
                }
                return Response.AsJson(new { header, rows });

            }

3 个答案:

答案 0 :(得分:1)

如果你想在你的南希代码中完成(而不是像IIS配置),你可以创建自己的自定义序列化器/反序列化器,让Nancy拿起它。 有关这样做的信息,请参阅Phillip Haydons博客:http://www.philliphaydon.com/2013/05/nancyfx-revisiting-content-negotiation-and-apis-part-3/

答案 1 :(得分:0)

为什么不序列化初始对象(即大),压缩序列化对象,发送压缩字符串。

你已经拥有了json?使用.net4.5中的内置压缩例程对其进行压缩,然后发送压缩字符串。

另一方面,反过来。

我在我的一个普通WCF项目中这样做。

这一切都假设您可以控制客户端和服务器。

答案 2 :(得分:0)