【发布时间】:2021-10-25 19:46:40
【问题描述】:
我正在尝试将一些自定义 JSON 反序列化到字典中,但我很难弄清楚如何处理它。我在拥有 Model 类之前已经完成了它,但在这种情况下,我需要以特定的方式完成它。
这是 Json 的样子:
{
Values:
{
"Value1":"XXX",
"value2" :
{
"SubValue1":"YX",
"SubValue2":"AB"
}
}
}
这里的目标是创建一个 Dictionary
Key Value
Value1 XXX
Value2 {
"SubValue1":"YX",
"SubValue2":"AB"
}
有没有一种快速的方法可以像这样对它进行反序列化?有关如何轻松完成此操作的任何提示或提示?
【问题讨论】:
-
您打算如何将这些数据放入
Dictionary<string,string>?也许是Dictionary<string,object>?无论哪种方式,我相信您都需要处理反序列化(自定义转换器)... -
这应该几乎直接使用 Newtonsoft 反序列化,并使用
[I]Dictionary<string,X>作为目标(将值映射到对象或字符串,具体取决于所需的结果,因为问题尚不清楚)。尝试这样做的结果是什么?还是序列化仅限于Text.Json? -
@zaggler,对于 Value2,值不能简单地作为 JSON 块作为字符串吗?
-
@Sandro 是的,它可以,但是你需要反序列化它才能得到你需要的东西......这取决于你想如何处理这些数据。
-
Newtonsoft 的 JObject 是 IDictionary,但也可以在不进一步反序列化的情况下更深入。
标签: c# json asp.net-core