读取Json文件,然后将信息放入数组c#

时间:2019-12-17 12:19:54

标签: c# arrays json deserialization

我有这部分的JSON文件:

[
    {"Name": "Chelsea",
     "GoalDiff": 20,
     "Points": 25
    },
    {"Name": "Liverpool",
     "GoalDiff": 30,
     "Points": 35
    },
    {"Name": "Man United",
     "GoalDiff": 5,
     "Points": 18
    }

]

我需要将它们放入每个对象的数组中,在这里我可以轻松地访问它们以进行排序,用作变量并放入公式中。

编辑:

我已经尝试从该站点进行一些操作来读取文件,例如,收效甚微

class Program
    {
        public class TeamInfo
        {
            public string Name {get; set;} 
            public int GoalDiff {get; set;}
            public int points { get; set; }
        }
        public void LoadJson()
        {
            using(StreamReader r = new StreamReader("TXT1.json"))
            {
                string json = r.ReadToEnd();
                List<TeamInfo> items = JsonConvert.DeserializeObject<List<TeamInfo>>(json);
            }
        }
        static void Main(string[] args)
        {
            dynamic array = JsonConvert.DeserializeObject(json);
            foreach (var item in array)
            {
                Console.WriteLine(item.temp, item.vcc)
            }

        }

    }

类似地,newtonsoft网站并没有帮助我整个工作。

1 个答案:

答案 0 :(得分:1)

首先创建一个像这样的类。

public class FootballTeams
{
    public string Name { get; set; }
    public int GoalDiff { get; set; }
    public int Points { get; set; }
}

然后读取数据并使用Newtonsoft.Json

var json = File.ReadAllText(@"data.json");
var footballTeams = JsonConvert.DeserializeObject<List<FootballTeams>>(json);

//使用footballTeams进行操作 例如:footballTeams.Select(team=>team.Name.Equals("Chelsea"));