Datatable 转换为 json数据

看代码 很容易理解;

 public static string DataTabletojson(DataTable dt)
        {
            StringBuilder jsonBuilder = new StringBuilder();
            jsonBuilder.Append("{\"");
            jsonBuilder.Append(dt.TableName.ToString());
            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("\":\"");
                    if (dt.Columns[j].ColumnName.Equals("tps_direction"))
                    {
                        jsonBuilder.Append(Direction(Convert.ToInt32(dt.Rows[i][j])));
                    }
                    else if (dt.Columns[j].ColumnName.Equals("tps_subject"))
                    {
                        jsonBuilder.Append(ConvertSubject(Convert.ToInt32(dt.Rows[i][j])));
                    }
                    else if (dt.Columns[j].ColumnName.Equals("tds_type"))
                    {
                        jsonBuilder.Append(ConvertDefects(dt.Rows[i][j].ToString()));
                    }
                    else
                    {
                        jsonBuilder.Append(dt.Rows[i][j].ToString().Trim());
                    }

                    jsonBuilder.Append("\",");
                }
                jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
                jsonBuilder.Append("},");
            }
            jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
            jsonBuilder.Append("]");
            jsonBuilder.Append("}");
            return jsonBuilder.ToString();
        }

调用:

json = GPSPositionBLL.DataTabletojson(dt);

 

posted @ 2013-11-15 10:24  KainJC  阅读(91)  评论(0)    收藏  举报