c# Json格式

c#中实现Json功能!

最近需要使用json来与服务器传递信息,所以稍稍了解了一下json。

如果想要在c#中使用json功能,首先我们需要用到Newtonsoft.Json命名空间,可以通过NuGet来安装我们需要的文件。

可以通过在NuGet控制台中输入Install-package Newtonsoft.Json添加文件。

然后引用NewTonSoft.Json命名空间。

然后就是如何将我们建立好的对象转换成json字符串。

我创建了一个student类

    class student
    {
        public string Name { get; set; }
        public string classNum { get; set; }
        public string id { get; set; }
    }

然后下面将student对象序列化生成json字符串

            List<student> students = new List<student>();
            students.Add(new student { Name = "zhu", classNum = "1", id = "1" });
            students.Add(new student { Name = "yu", classNum = "1", id = "1" });
            students.Add(new student { Name = "quan", classNum = "1", id = "1" });
            students.Add(new student { Name = "zz", classNum = "1", id = "1" });
            students.Add(new student { Name = "Zdd", classNum = "1", id = "1" });

            string JsonString = JsonConvert.SerializeObject(students);
            Console.WriteLine(JsonString);
            Console.WriteLine();

 当我们要生成Json字符串时也可以使用匿名类,不需要单独建立对象。

当然也可以将Json字符串反序列化成student对象

string inputJsonString = @"[
                {Name:'zhu',classNum:'1',id:'1'},
                {Name:'yu',classNum:'2',id:'2'},
                {Name:'quan',classNum:'1',id:'2'}
                    ]";
            JArray jsonObj = JArray.Parse(inputJsonString);

            List<student> objects = new List<student>();

            objects = JsonConvert.DeserializeObject<List<student>>(inputJsonString);


            foreach(student item in objects)
            {
                Console.WriteLine("name:{0},classNum:{1},id:{2}", item.Name, item.classNum, item.id);
            }

我们需要给DeserializeObject<T>添加List<student>让函数返回List<student>对象。

 

posted on 2017-05-21 16:28  朱噔噔  阅读(8201)  评论(0编辑  收藏  举报

导航