Код: Выделить всё
public class ResourceDescriptor
{
public string Title { get; set; }
}
public class ResourceProperties
{
public string Quantity { get; set; }
}
public class Resource
{
public ResourceDescriptor descriptor { get; set; } = new();
public ResourceProperties properties { get; set; } = new();
}
public class Container
{
public Dictionary Resources { get; set; } = new();
}
< /code>
В моем основном методе я сначала десериализую некоторые JSON, которые заполняют свойство дескриптора: < /p>
string json1 = @"
{
""Resources"": {
""1"": {
""descriptor"": {
""Title"": ""Example Title""
}
}
}
}";
Container container = JsonConvert.DeserializeObject(json1);
< /code>
Затем я пытаюсь обновить существующий контейнер с помощью дополнительного JSON, который обеспечивает свойства: < /p>
string json2 = @"
{
""Resources"": {
""1"": {
""properties"": {
""Quantity"": ""100""
}
}
}
}";
JsonConvert.PopulateObject(json2, container);
Код: Выделить всё
"Example Title"
Код: Выделить всё
Title: Example Title
Quantity:
< /code>
и после < /p>
Title:
Quantity: 100
Любые идеи или предложения о том, как добиться истинного поведения «слияния» с Newtonsoft.json. Изменение настроек десериализации JSON, включая обработку эталонного и нулевую обработку, но она не сработала. br /> уже ответил в
json.net - как сохранить ссылки на стоимость словаря при заполнении словаря? < /p>
Подробнее здесь: https://stackoverflow.com/questions/794 ... ry-without