官网上下载了Newtonsoft.Json 2.0 五月份那一版的, 我在VS2005 .NET2.0 中引用了这个动态连接库, 
不知道怎么实现 DataTable与Json 的互相转换如果其他版本的Dll, 在2.0下可以使用的,也行.

解决方案 »

  1.   

    public static string ToJson(this object obj)
            {
                JavaScriptSerializer serialize = new JavaScriptSerializer();
                return serialize.Serialize(obj);
            }
            public static string ToJson(DataTable dt)
            {
                Dictionary<string, object> dic = new Dictionary<string, object>();
                int index = 0;
                foreach (DataRow dr in dt.Rows)
                {
                    Dictionary<string, object> result = new Dictionary<string, object>();                foreach (DataColumn dc in dt.Columns)
                    {
                        result.Add(dc.ColumnName, dr[dc].ToString());
                    }
                    dic.Add(index.ToString(), result);
                    index++;
                }
                return ToJson(dic);
            }
      

  2.   


    错误 1 找不到类型或命名空间名称JavaScriptSerializer我已经引用:
    using Newtonsoft.Json;
    using Newtonsoft.Json.Converters;
      

  3.   

    我找到一段代码,没有使用DLL,        public static string DataToJson(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("\":\"");
                        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("]");
                jsonBuilder.Append("}");
                return jsonBuilder.ToString();
            }   
    现在求一段将Json转为DataTable的代码.谢谢
      

  4.   

    有没有2.0可以用的DLL?DataTable dt1 = Newtonsoft.Json.JavaScriptConvert.DeserializeObject<DataTable>(s);
    这句代码,在进行反序列化时, 报错, 说需要 System.core 3.5  我晕.
      

  5.   

    JavaScriptSerializer 是引用System.Web.Script.Serialization命名空间。