当前位置:编程学习 > C#/ASP.NET >>

json表示数组问题,求教!!!

--------------------编程问答-------------------- 自己顶一下,求高手! --------------------编程问答-------------------- 或者加QQ  937696994 --------------------编程问答-------------------- 在线顶啊,求大神啊! --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 为什么没有看到第一张传说中的图的? --------------------编程问答--------------------
引用 5 楼 zhujiazhi 的回复:
为什么没有看到第一张传说中的图的?
我排序排错了,是第三张 --------------------编程问答-------------------- 貌似你的json和你的数据没有什么关系 --------------------编程问答-------------------- 序列化对象

List<model> list=你的数据
string json = "";
            JavaScriptSerializer jss = new JavaScriptSerializer();
            json = jss.Serialize(list);
            
--------------------编程问答--------------------
引用 7 楼 jia5255 的回复:
貌似你的json和你的数据没有什么关系


引用 8 楼 jia5255 的回复:
序列化对象
C# code?123456List<model> list=你的数据string json = "";            JavaScriptSerializer jss = new JavaScriptSerializer();            json = jss.Serialize(list);


ID是自动编号,FID就是他的父级ID,也是就是ID,然后实体类里面有个Children数组,我要把数据里面有FID都放到children里面,第三张图片就是列子。 --------------------编程问答-------------------- 分两步做,
1,序列化chlid的为一个字符串,{"id":"1","title":"abcd"}
2,把所有的拼合成为你要的格式 --------------------编程问答-------------------- 你是想要一棵树吗? --------------------编程问答-------------------- 就把他拼接成你想要的json格式就行了,如果要成树形的,先通过递归把数据在datatable中排列好,然后在把datatable拼接成你的格式 --------------------编程问答--------------------

 [WebMethod]
        public static string JsonData()
        {
            DataTable dt = Data();
            return CreateJsonParameters(dt);
        }

        #region 原始数据
        public static DataTable getData()
        {
            SqlConnection con = new SqlConnection(conStr);
            string sql = "select * from T1";
            SqlDataAdapter da = new SqlDataAdapter(sql, con);
            DataTable dt = new DataTable();
            da.Fill(dt);
            return dt;
        }
        #endregion

        #region 递归重新排列数据
        public static DataTable Data()
        {
            DataTable dt = getData();
            DataTable nDt = dt.Clone();
            TreeData(dt, nDt, "0");
            return nDt;
        }

        private static void TreeData(DataTable dt, DataTable nDt, string parentID)
        {
            DataRow[] dr = dt.Select("Tparents='" + parentID + "'");
            if (dr.Length > 0)
            {
                for (int i = 0; i < dr.Length; i++)
                {
                    nDt.Rows.Add(dr[i].ItemArray);
                    parentID = dr[i]["Tid"].ToString();
                    TreeData(dt, nDt, parentID);
                }

            }

        }

        #endregion

//生成json格式
 public string CreateJsonParameters(DataTable dt)
        {
            StringBuilder JsonString = new StringBuilder();
            //Exception Handling          
            if (dt != null && dt.Rows.Count > 0)
            {
                JsonString.Append("{ ");
                JsonString.Append("\"Head\":[ ");
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    JsonString.Append("{ ");
                    for (int j = 0; j < dt.Columns.Count; j++)
                    {
                        if (j < dt.Columns.Count - 1)
                        {
                            JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\",");
                        }
                        else if (j == dt.Columns.Count - 1)
                        {
                            JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\"");
                        }
                    }
                    /**/
                    /*end Of String*/
                    if (i == dt.Rows.Count - 1)
                    {
                        JsonString.Append("} ");
                    }
                    else
                    {
                        JsonString.Append("}, ");
                    }
                }
                JsonString.Append("]}");
                return JsonString.ToString();
            }
            else
            {
                return null;
            }
        }



看样子把"生成json格式"的那个方法,HEAD改成people就可以了,你自己稍微调下 --------------------编程问答-------------------- 最后一句,记得结贴。世风日下啊 --------------------编程问答-------------------- json序列化
只是json序列化的问题,方法有很多种,自己拼字符串是不可取的
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,