我自己写了个,但是好像不是太好
所以这里向大家再求一个函数,希望大家赐教

解决方案 »

  1.   

    private string DataTableToJson(DataTable dt)
    {
    StringBuilder jsonBuilder = new StringBuilder();
    jsonBuilder.Append("[");
    for (int i = 0; i < dt.Rows.Count; i++)
    {
    jsonBuilder.Append("{");
    for (int j = 0; j < dt.Columns.Count; j++)
    {
    jsonBuilder.Append("\"");
    jsonBuilder.Append(dt.Columns[j].ColumnName);
    jsonBuilder.Append("\":\"");
    jsonBuilder.Append(dt.Rows[i][j].ToString());
    jsonBuilder.Append("\",");
    }
    jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
    jsonBuilder.Append("},");
    }
    jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
    jsonBuilder.Append("]");
    //string temp=jsonBuilder.ToString();
    return jsonBuilder.ToString();
    }
      

  2.   

    东西是出来了,但是我          
      var Json = [];
      eval("Json=" + html);
    的时候,读不出来
      

  3.   

    先把你最终生成的json串输出来看看是什么,有没有问题.//这里模拟一个DataTable,实际应用中可能是去数据库里查询数据  
            DataTable dt = new DataTable(); 
            dt.Columns.Add("TestName", typeof(string)); 
            dt.Columns.Add("TestValue", typeof(string)); 
            for (int i = 0; i < 6; i++) 
            { 
                DataRow dr = dt.NewRow(); 
                dr["TestName"] = "TestName" + i.ToString(); 
                dr["TestValue"] = "TestValue" + i.ToString(); 
                dt.Rows.Add(dr); 
            } 
            //将一个DataTable中的数据转成json,实际开发中可以用Newtonsoft.Json等组件 
             //将集合类等,方便的转成json对象  
            System.Text.StringBuilder sb = new System.Text.StringBuilder(); 
            sb.Append("{items: ["); 
            foreach (DataRow dr in dt.Rows) 
            { 
                sb.Append("{"); 
                sb.AppendFormat("TestName:'{0}',TestValue:'{1}'", dr[0], dr[1]); 
                sb.Append("},"); 
            } 
            //输出拼成的json  
            Response.Write(sb.ToString().Trim(',') + "]}"); 
      

  4.   

    楼上的大哥,能给我范例下如何用NEWTONSOFT.JSON来序列化一个datatable为一个JSON吗