如何在C#中使用Json.Net将JSON数据反序列化为对象

示例

以下示例显示了如何反序列化包含在对象(即类的实例)中的JSON字符串。

using System;

using System.Collections.Generic;

using Newtonsoft.Json;

                    

public class Program

{

    public class Employee

    {

        public string FirstName { get; set; }

        public string LastName { get; set; }

        public bool IsManager { get; set; }

        public DateTime JoinedDate { get; set; }

        public IList<string> Titles { get; set; }

    }

    

    public static void Main()

    {

        string json = @"{

                          'FirstName': 'Shiva',

                          'LastName': 'Kumar',

                          'IsManager': true,

                          'JoinedDate': '2014-02-10T00:00:00Z',

                          'Titles': [

                            'Sr. Software Engineer',

                            'Applications Architect'

                          ]

                        }";

        

        Employee employee = JsonConvert.DeserializeObject<Employee>(json);

        Console.WriteLine(employee.FirstName);

        Console.WriteLine(employee.LastName);

        Console.WriteLine(employee.JoinedDate);

        foreach (string title in employee.Titles)

        {

            Console.WriteLine("  {0}", title);    

        }

    }

}

如果运行此控制台程序,则各种Console.WriteLine语句的输出如下。

Shiva

Kumar

2/10/2014 12:00:00 AM

  Sr. Software Engineer

  Applications Architect

几件事要注意

  1. 下一行将json字符串中的数据实际反序列化为该类的employee对象实例Employee。

Employee employee = JsonConvert.DeserializeObject<Employee>(json);

  1. 既然employee.Titles是一种List<string>类型,我们使用foreach循环构造来遍历那个中的每个项目List。

以上是 如何在C#中使用Json.Net将JSON数据反序列化为对象 的全部内容, 来源链接: utcz.com/z/321297.html

回到顶部