C# 如何在json字符串中获取名称和值

C# 如何在json字符串中获取名称和值,c#,json,C#,Json,如何在我拥有的json字符串中获取名称和值: { "AccYearsList": [ { "start_date": 1453766400 }, { "end_date": 1485302400 }, { "start_date": 1454198400 }, { "end_date": 1485734400 }, { "start_date": 1382400

如何在我拥有的json字符串中获取名称和值:

{
  "AccYearsList": [
    {
      "start_date": 1453766400
    },
    {
      "end_date": 1485302400
    },
    {
      "start_date": 1454198400
    },
    {
      "end_date": 1485734400
    },
    {
      "start_date": 1382400
    },
    {
      "end_date": 32918400
    },
    {
      "start_date": 1382400
    },
    {
      "end_date": 32918400
    },
    {
      "start_date": 1382400
    },
    {
      "end_date": 32918400
    },
    {
      "start_date": 1382400
    },
    {
      "end_date": 32918400
    },
    {
      "start_date": 1382400
    },
    {
      "end_date": 32918400
    },
    {
      "start_date": 1382400
    },
    {
      "end_date": 32918400
    },
    {
      "start_date": 1382400
    },
    {
      "end_date": 32918400
    },
    {
      "start_date": 1382400
    },
    {
      "end_date": 32918400
    },
    {
      "start_date": 1382400
    },
    {
      "end_date": 32918400
    },
    {
      "start_date": 1382400
    },
    {
      "end_date": 32918400
    },
    {
      "start_date": 1453852800
    },
    {
      "end_date": 1485388800
    },
    {
      "start_date": 1453852800
    },
    {
      "end_date": 1485388800
    }
  ]
}

这应该可以通过使用 但是,反序列化程序可能无法按原样反序列化字符串。在这种情况下,您可以将字符串初步转换为反序列化程序可以理解的形式

另一种可能的方法是使用。大致如下:

            const string inputStr = "{" +
                                "\"AccYearsList\": [" +
                                "{\"start_date\": 1453766400}," +
                                "{\"end_date\": 1485302400}," +
                                "{\"start_date\": 1454198400}," +
                                "{\"end_date\": 1485734400}," +
                                "{\"start_date\": 1382400}," +
                                "{\"end_date\": 32918400}," +
                                "{\"start_date\": 1382400}," +
                                "{\"end_date\": 32918400}]}";

        const string pattern = @"start_date.:\s*(\d+)}.+?end_date.:\s*(\d+)}";

        var re = new Regex(pattern);
        var matches = re.Matches(inputStr);

        foreach (Match match in matches)
        {
            var startDate = match.Groups[1];
            var endDate = match.Groups[2];

            Console.WriteLine("start_date: '{0}'", startDate);
            Console.WriteLine("end_date: '{0}'", endDate);
        }