Чтение файла Json с разными именами свойств в спискеC#

Место общения программистов C#
Anonymous
Чтение файла Json с разными именами свойств в списке

Сообщение Anonymous »

Не уверен, что название правильное — я немного покопался в этом вопросе и не нашел хорошего ответа. Я видел пару похожих вопросов, но не могу понять, какое решение на самом деле поможет и как его реализовать.
Я пытаюсь импортировать файл Json, который создается на другом языке, и пытаюсь найти способ эффективного чтения данных. Это система сохранения мира в стиле Minecraft, использующая набор кусков и блоков. Каждое местоположение блока представляет собой целое число с присвоенным ему идентификатором. Файл выглядит так (сокращенно):
[
{
"anchor": [
-128,
0,
-128
],
"blocks": {
},
"id": 0
},
{
"anchor": [
48,
0,
-112
],
"blocks": {
"1037": 10,
"1038": 10,
"1053": 10,
"1054": 10,
"1069": 10,
"1070": 10,
"1071": 10,
},
"id": 27
}
]

Я могу извлечь привязку как массив целых чисел, а идентификатор — как отдельное целое число, но у меня возникли проблемы с получением списка блоков. Как лучше всего импортировать эти данные?
Это класс, который я использовал ранее, прежде чем понял, что словари не работают с jsonUtility:
public class Chunk
{
public int[] anchor;

public Dictionary blocks;

public int id;

public Chunk(Vector3Int location, int newid)
{
blocks = new Dictionary();
id = newid;
anchor = new int[] {location.x, location.z, location.y};
}
}

Я также пробовал версию, использующую список общих объектов, но безрезультатно.
И процесс импорта в виде простого импорта JSON:
string import = File.ReadAllText(saveDataLocation);
Chunk islandImport = JsonUtility.FromJson(import);

Вернуться в «C#»