ibcadmin 发表于 2014-11-18 09:48:58

C#中解析Json为对象

下面是JSON字符串


string jsonObject="{'Name':'Jack','Age':25}";
string jsonArray = "[{'Name':'Jhon','Age':23},{'Name':'Jack','Age':25}]";      


定义一个学生类

class Student
{
    public string Name { get; set; }
    public int Age { get; set; }
}

通过Nuget程序包来添加Newtonsoft.Json的引用,并添加using Newtonsoft.Json.Linq;命名空间
创建JToken对象,并解析上面的字符串:

JToken jtoken = JToken.Parse(jsonObject);
JToken jtoken2=JToken.Parse(jsonArray);

将json转换为学生对象

if (jtoken1 is JObject)
{
       Student s=jtoken.ToObject<Student>();
       Console.WriteLine(s.Name);
       Console.WriteLine(s.Age);
}
if (jtoken2 is JArray)
{
    List<Student> students = jtoken2.ToObject<List<Student>>();
    foreach (var student in students)
    {
      Console.WriteLine(string.Format("Name:{0}\tAge:{1}", student.Name, student.Age));
    }
}

这种方式超级简单了。


jakey0108 发表于 2017-7-15 11:09:55

这种方法不错 挺好的

bella926 发表于 2017-7-15 16:21:44

Newtonsoft.Json这个库真的是棒棒的
页: [1]
查看完整版本: C#中解析Json为对象