Я работаю над проектом, где мне нужно объединить данные JSON в существующий объект. У меня есть следующие классы: < /p>
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);
< /code>
Я ожидал, что после заполнения, контейнер.resources ["1"] сохранит дескриптор. ". Однако, когда я запускаю код, кажется, что новый JSON перезаписывает мои существующие данные.Title: Example Title
Quantity:
< /code>
и после < /p>
Title:
Quantity: 100
< /code>
Вопросы: < /p>
1. Почему JSonConvert.PopulateObject перезаписывает существующий объект вместо объединения новых данных JSON с существующими свойствами? < /Strong>
2. Как я могу объединить данные JSON, чтобы ранее существовавшие свойства (например, descriptor.title) оставались нетронутыми при добавлении новых свойств со второго JSON? Предложения о том, как добиться истинного поведения «слияния» с Newtonsoft.json, будут высоко оценены. Настройки, включая обработку ссылок и нулевую обработку, но это не сработало.
Подробнее здесь: https://stackoverflow.com/questions/794 ... ry-without
Как я могу объединить данные json с помощью jsonconvert.populateObject на словаре без перезаписи существующих свойств? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение