如何使用C#将JSON转换为DataTable

时间:2011-12-13 13:15:24

标签: c# json serialization json.net

我有一个json字符串,想从中创建一个DataTable。

如何在C#中将JSON转换为DataTable?

更新

我根据此处提供的链接使用了Json.Net

并构建2个类来处理json字符串,如下所示

 public class JsonHelper
        {
            public List<User> userdata { get; set; }
        }

  public class User
    {
        public string name { get; set; }
        public string id { get; set; }
        public DateTime createdDate { get; set; }

    }

并使用以下代码进行反序列化

Newtonsoft.Json.JsonSerializer json = new Newtonsoft.Json.JsonSerializer();

            json.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
            json.ObjectCreationHandling = Newtonsoft.Json.ObjectCreationHandling.Replace;
            json.MissingMemberHandling = Newtonsoft.Json.MissingMemberHandling.Ignore;
            json.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;

            StringReader sr = new StringReader(jsonstr);
            Newtonsoft.Json.JsonTextReader reader = new JsonTextReader(sr);
            object result = json.Deserialize(reader, typeof( JsonHelper));
            reader.Close();

            return result;

但得到以下错误

  

无法将JSON数组反序列化为“mynamespace + JsonHelper”类型。

这里应该有什么问题,请帮我解决这个问题。

感谢。

1 个答案:

答案 0 :(得分:1)

Rick Strahl的

This post可能会帮助你。他正在使用Newtonsoft的JSON.NET库来完成繁重的工作。