Я пишу на C # для .NET Framework 3.5.
Я пытаюсь проанализировать Json для объекта JO.
Json выглядит следующим образом:
{
"TBox": {
"Name": "SmallBox",
"Length": 1,
"Width": 1,
"Height": 2 },
"TBox": {
"Name": "MedBox",
"Length": 5,
"Width": 10,
"Height": 10 },
"TBox": {
"Name": "LargeBox",
"Length": 20,
"Width": 20,
"Height": 10 }
}
Когда я пытаюсь проанализировать этот Json для JObject, JObject знает только о LargeBox. Информация для SmallBox и MedBox потеряна. Очевидно, это потому, что он интерпретирует «TBox» как свойство, и это свойство перезаписывается.
Я получаю этот Json от службы, которая закодирована в Delphi. Я пытаюсь создать C # прокси для этого сервиса. С точки зрения Delphi, «TBox» понимается как тип возвращаемого объекта. Внутренние свойства («Имя», «Длина», «Ширина», «Высота») понимаются как обычные свойства.
Я могу сериализовать и десериализовать пользовательский объект 'TBox', который имеет свойства Name, Length, Width и Height. Это нормально.
Что я хочу сделать, так это пройти по всем разделам TBox таким образом, чтобы извлечь следующие три строки Json.
Во-первых:
{
"Name": "SmallBox",
"Length": 1,
"Width": 1,
"Height": 2 }
Второе:
{
"Name": "MedBox"
"Length": 5,
"Width": 10,
"Height": 10 }
Третье:
{
"Name": "LargeBox"
"Length": 20,
"Width": 20,
"Height": 10 }
Как только у меня появятся эти строки, я могу сериализоваться и десериализоваться до глубины души.
Я считаю, что Newtonsoft.Json очень хорош. Я действительно не хочу возиться с другими фреймворками, если смогу избежать этого.
Любая помощь будет принята с благодарностью.
У меня очень ограниченный ввод данных об изменениях, которые можно внести на сервер.