У меня возникла проблема десериализации и определение этой структуры JSON было бы здорово получить некоторую помощь. Я вернул это обратно к последней известной рабочей позиции, потому что я просто ухожу от рельсов.C# Deserialize JSON array
мой JSON stucture является:
[{
"name": "Name1",
"description": "Description of this process",
"Location": "ANY",
"SubItems": [{
"name": "sub1",
"required": true,
"description": "This is a short description"
}, {
"name": "sub2",
"required": true,
"description": "This is a short description"
}, {
"name": "sub3",
"required": true,
"description": "This is a short description"
}],
"outputs": [{
"name": "out1",
"required": false
}, {
"name": "exit code",
"required": false
}]
}, {
"name": "Name2",
"description": "This is a short description",
"Location": "ANY",
"SubItems": [{
"name": "sub1",
"required": false,
"description": "This is a short description"
}]
}]
Вот мои C# JSon определений, которые были в последний рабочий.
public class JsonObject
{
[JsonProperty("name")]
public string ProcessName { get; set; }
[JsonProperty("description")]
public string ProcessDescription { get; set; }
[JsonProperty("Location")]
public string KnownLocation { get; set; }
}
Я только фиксирую пару определений на данный момент для тестирования.
Вот мой десериализации объект
var Object = JsonConvert.DeserializeObject <List<JsonObject>>(txt);
foreach (JsonObject JsonObject in Object)
{
Console.WriteLine("Name: " + JsonObject.ProcessName);
Console.WriteLine();
Console.WriteLine("Description: " +JsonObject.ProcessDescription);
Console.WriteLine();
}
Так как я сказал, что я могу получить по крайней мере, первые элементы 3 самый верхний уровень JSON в выходном сигнале. Проблема начинается, когда я начинаю пытаться получить «SubItems» и «выходы»
Я следил за структурой связанного сообщения ниже и очень старался это понять, но через некоторое время я понял, что решение не для этого вопрос. У меня просто есть многомерный массив JSON-объекта. Буквально имеет верхний ярус, и 2 суб ярусы
Я пытался попробовать сделать ...
List<List<JsonObject>>Object = JsonConvert.DeserializeObject <List<List<JsonObject>>>(txt);
и пытались иметь 2 списков же с разными именами с 3 наборами JSON определений.
и реализован многоуровневый цикл просмотр, но тогда я был не в состоянии получить доступ к определениям для самого верхнего JSON, и ничего не писало для реальных элементов «подпункты»
Что мне нужно, чтобы получить для каждого объекта.
How to deserialize a json file with multidimensional array to convert it to object in c#
Связанные Issue
Это не похоже, что ваш массив многомерный, только ваш JsonObject имеет массив внутри. –
То, что JSON недействительно. Загрузите на http://jsonlint.com/, и вы увидите различные ошибки. Можете ли вы [изменить] ваш вопрос включить JSON, который [воспроизводит] (https://stackoverflow.com/help/mcve) проблему? – dbc
Raderick, то есть определение многомерного массива. – Autonomic