Задать вопрос
@ellz

Как конвертировать JSON в многомерный массив?

Есть такой JSON:
{
	"cities": {
		"CountryName": [{
				"name": "Sentra"
			},
			{
				"name": "Sentra"
			},
			{
				"name": "Sentra"
			}
		],
		"CountryName2": [{
				"name": "Sentra"
			},
			{
				"name": "Sentra"
			}
		]
	}
}

Как его преобразовать в многомерный массив типа string[,] cities = new string[,] { };?
Пробовал через этот сайт, но он что-то не то выдает:
public class CountryName
{
    public string name { get; set; }
}

public class CountryName2
{
    public string name { get; set; }
}

public class Cities
{
    public List<CountryName> CountryName { get; set; }
    public List<CountryName2> CountryName2 { get; set; }
}

public class RootObject
{
    public Cities cities { get; set; }
}

То-есть нужно каждую страну и город заранее прописывать в классе. Может с JSON, что-то не так?
  • Вопрос задан
  • 437 просмотров
Подписаться 1 Простой 5 комментариев
Решения вопроса 1
MrMureno
@MrMureno
VR for all
как преобразовать?? ручками..
все верно вам саит выдает..
две страны в каждой список городов....

у вас нет массива внутри cities

возможно вы хотели
{
  "cities": [{
    "CountryName": [{
        "name": "Sentra"
      },
      {
        "name": "Sentra"
      },
      {
        "name": "Sentra"
      }
    ],
    "CountryName2": [{
        "name": "Sentra"
      },
      {
        "name": "Sentra"
      }
    ]
  }
]
}


и то вам сгенерирует список списков.
можете обосновать зачем вам именно многомерный массив..и чем список списков вас не устраивает??
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@d-stream
Готовые решения - не подаю, но...
Есть простой, лентяйский путь: выделяем (желательно большой) JSON и в студии edit->paste special -> paste JSON as Classes

Потом смотрим на классы, слегка рихтуем типы данных, маркируем датаконтракты и мемберов и имеем счастье в виде успешных сериализаций начиная от DataContractJsonSerializer до любой навороченной внекоробочной библиотеки/фреймворка (например Json.NET)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы