Как я могу десериализовать JSON ниже в массив C # или что-то более управляемое.
{
"data": [
{
"PropertyName": [
{
"Key1": "test",
"Key2": "afafa"
},
{
"Key1": "test",
"Key2": "afafa"
}
],
"PropertyName2": [
{
"Key1": "test",
"Key2": "afafa"
},
{
"Key1": "test",
"Key2": "afafa"
}
]
}
]
}
Он поставляется в виде динамического параметра, подобного этому:
public IActionResult SAve([FromBody] dynamic mapping)
Обычно я бысделать это конкретным классом, но PropertyName изменится на другие имена, поэтому мне нужно что-то гибкое.Его содержимое может быть конкретным, так как это всего лишь два свойства.
Я думаю, что оно может быть похоже на словарь.
Dictionary<string, ConcreteClass>()
Я просто не знаю, как его получитьв эту форму.
Редактировать.
Я пошел дальше и сделал предложение, но оно не работает
{{
"data": [
{
"propertyName": [
{
"key1": 1,
"key2": "1"
},
{
"key1": 2,
"key2": "2"
}
]
}
]
}}
Я попытался преобразовать вот так
var ddd = JsonConvert.DeserializeObject<List<MappingDto>>(mapping.data.ToString());
это делает пустой объект в массиве.Если у меня нет его в коллекции, я получаю другую ошибку
public class MappingDto
{
public List<Dictionary<string, List<Item>>> Items { get; set; }
}
public class Items
{
public string Key1{ get; set; }
public string Key2{ get; set; }
}