在我的 C# + WPF + .NET 4.5 代码中,假设我如下所示定义了一个 Player
类:
public class Player {
public string FirstName;
public string LastName;
public List<int> Cells;
public string Level;
}
我有一个myobjects.json文件,我使用JSON.NET编写了这些对象的序列化集合(以下显示前两个):
{
"FirstName": "Foo",
"LastName": "Fighter",
"Cells": [
1,
2,
3
],
"Level": "46"
}{
"FirstName": "Bar",
"LastName": "Baz",
"Cells": [
104,
127,
],
"Level": "D2"
}
我希望做的是读取文件,反序列化这些对象并填充一个
List
类型的Player
列表:using (Stream fs = openDialog.OpenFile())
using (StreamReader sr = new StreamReader(fs))
using (JsonTextReader jr = new JsonTextReader(sr)) {
while (jr.Read()) {
/* Find player in file */
Player p = /* Deserialize */
PlayerList.Add(p);
}
}
File.WriteAllText...
并将结果与您的进行比较。很可能您没有形成正确的 JSON 数组。(例如,您问题中的 JSON 在对象之间缺少逗号。) - I4V