Объединение JSON файлов
Имеется 3 файла JSON, с одной структурой(cм. ниже)
1 файл
[
{
"Id": 1,
"Info2": "Name",
"Info3": "Sername",
"Age": 16
},
{
"Id": 2,
"Info2": "Name2",
"Info3": "Sername2",
"Age": 20
},
{
"Id": 3,
"Info2": "Name3",
"Info3": "Sername3",
"Age": 10
}
]
2 файл
[
{
"Id": 1,
"Info2": "Name",
"Info3": "Sername",
"Age": 17
},
{
"Id": 2,
"Info2": "Name2",
"Info3": "Sername2",
"Age": 21
},
{
"Id": 3,
"Info2": "Name3",
"Info3": "Sername3",
"Age": 11
}
]
3 файл
[
{
"Id": 1,
"Info2": "Name",
"Info3": "Sername",
"Age": 18
},
{
"Id": 2,
"Info2": "Name2",
"Info3": "Sername2",
"Age": 22
},
{
"Id": 3,
"Info2": "Name3",
"Info3": "Sername3",
"Age": 12
}
]
С помощью этого кода я получаю список из одого фала:
var obj1 = JsonConvert.DeserializeObject<ObservableCollection<Person>>(File.ReadAllText("file1.json", Encoding.UTF8));
Возможно ли объединить эти 3 файла в один, что бы в итоге получали массив file1, file2, file3, из которого выходили остальные данные?
UPD:: Удалось объединить с помощью CompositeCollection:
CompositeCollection cc = new CompositeCollection();
cc.Add(obj1);
cc.Add(obj2);
cc.Add(obj3);
Ответы (2 шт):
Автор решения: Domenic Ross
→ Ссылка
Удалось объединить объекты ObservalCollection с помощью CompositeCollection
CompositeCollection cc = new CompositeCollection();
cc.Add(obj1);
cc.Add(obj2);
cc.Add(obj3);
Автор решения: aepot
→ Ссылка
ObservableCollection<ObservableCollection<Person>> data = new ObservableCollection<ObservableCollection<Person>>();
string[] files = new string[] { "file1.json", "file2.json", "file3.json" };
foreach (string file in files)
{
data.Add(JsonConvert.DeserializeObject<ObservableCollection<Person>>(File.ReadAllText(file)));
}
Encoding.UTF8 - ReadAllText определит кодировку автоматически, поэтому нет нужды ее явно указывать.