гибкая обработка DSON Deserialization с динамическими ключами с использованием словарей
]в мире JSON, встречая строки JSON с динамическими и непредсказуемыми корневыми ключами, может создавать проблемы при десериализовании к объектам. Вот как решить эту проблему с помощью словаря.
]Например, рассмотрите следующую json string:
]{
"daily": {
"1337990400000": 443447,
"1338076800000": 444693,
"1338163200000": 452282,
"1338249600000": 462189,
"1338336000000": 466626
}
}
, поскольку ключи динамичны, используя JavaScriptSerializer со структурой класса, здесь недостаточно. Более гибким решением является десериализация строки JSON в словаре, который позволяет нам легко получить доступ к динамическим ключам и их соответствующим значениям.
]var deser = new JavaScriptSerializer().Deserialize>>(val);
]
Эта строка создает словарь тошного, где ключ - это строка, а значение - словарь с струнными клавишами и целочисленными значениями. Он эффективно отображает динамические ключи в струнах JSON с промежуточными словарными.
], чтобы получить доступ к конкретным данным, мы можем использовать следующий код:
]var justDaily = deser["daily"];
]
JustDaily Variable теперь содержит словарь, представляющий объект «Daily» из строки JSON. Мы можем итерации по его ключам и значениям, чтобы извлечь динамические ключи и соответствующие значения.
]foreach (string key in justDaily.Keys)
Console.WriteLine(key ": " justDaily[key]);
]
Этот подход позволяет нам обрабатывать строки json с динамическими корневыми ключами в словарные структуры и обеспечивать гибкость при доступе к данным. Даже если ключи непредсказуемы, можно воспользоваться возможностями словаря, чтобы легко десериализировать JSON.
]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3