十一啊十一快乐!小贱从杭州萧山国际机场发来贺电!最近又重回学东西,做项目,学东西...的循环里。脑子就是浆糊啊浆糊~但是还是要继续给大家写博哦。又是一堆屁话,回正题,上次真是脑子抽了,写的关于Newtonsoft.Json的用法应该从比较形象的类转化开始写,让人先了解下。所以 这次的内容补上。

1.Json字符串转成对应类

下面我给出的例子:Json的内容是描述Employee的firstName和lastName

using Newtonsoft.Json; // Newtonsoft.Json引用
public class Employee // 根据JSON数据的信息定义一个类,用来存储信息
        {
            public string firstName; 这两个就是对每个Employee的描述了
            public string lastName;
        }
static void Main(string[] args)
        {
            string json = "[{\"firstName\": \"John\",\"lastName\": \"Doe\"},{\"firstName\": \"Anna\",\"lastName\": \"Smith\"},{\"firstName\": \"Peter\",\"lastName\": \"Jones\"}]"; // 定义一个JSON字符串
            List<Employee> list = new List<Employee>(); // 因为JSON中会有不止一个的Employee,所以我们用一个集合来存储
            list = JsonConvert.DeserializeObject<List<Employee>>(json); // 这里JsonConvert会很智能的将JSON中的属性转换为类的属性
            foreach (Employee child in list) // 将每一个Employee的firstName和lastName打印出来
            {
                Console.WriteLine(child.firstName);
                Console.WriteLine(child.lastName);
            }

            Console.ReadKey(); // 保证命令行窗口不消失
        }

* JsonConvert.DeserializeObject<List<Type>>(string json) Type是输出值的类型,json是我们需要转化的Json字符串

2.类转成Json字符串

这正好与上面相反,我们要将每个Employee以组的形式在Json字符串中表现出来,Employee的描述自然就是组中的属性了
static void Main(string[] args)
        {
#region 这一部分就是前面讲的将JSON转成一个类的集合,这里为了方便,就直接作为要转成JSON的内容了
            string json = "[{\"firstName\": \"John\",\"lastName\": \"Doe\"},{\"firstName\": \"Anna\",\"lastName\": \"Smith\"},{\"firstName\": \"Peter\",\"lastName\": \"Jones\"}]";
            List<Employee> list = new List<Employee>();
            list = JsonConvert.DeserializeObject<List<Employee>>(json);
            foreach (Employee child in list)
            {
                Console.WriteLine(child.firstName);
                Console.WriteLine(child.lastName);
            }
#endregion

            string lastJson = JsonConvert.SerializeObject(list); //这一步就是将一个类的集合转成JSON格式的字符串
            Console.WriteLine(lastJson);

            Console.ReadKey(); // 保证命令行窗口不消失
        }
* JsonConvert.SerializeObject(List<Type> list) 这里注意参数是一个集合哦,因为有很多的Employee就有很多的组,我们输入的是一个组的集合

今天说的能是上次的补充内容,我们要知道Newtonsoft.Json不仅仅只是处理Json与XML之间的转化,它还可以处理很多的类型。现在我们可以将Json字符串中的内容之间变成类的字段/属性的内容,那在项目中处理Json数据变得更加的方便了!
这次的内容先这么多,待续哦~