gpt4 book ai didi

c# - 使用 C# 反序列化一些奇怪的 JSON

转载 作者:行者123 更新时间:2023-11-30 23:16:43 25 4
gpt4 key购买 nike

我有一个来自供应商的 JSON 文档,如下所示:

{
"content": [{
"name": "Windows 8.1 x64",
"id": "Windows81x64",
"components": {
"Windows81x64": {
"propertyGroups": ["VirtualWindows81x64"],
"dependsOn": [],
"data": {
"provisioning_workflow": {
"fixed": {
"id": "WIMImageWorkflow",
"label": "WIMImageWorkflow"
}
},
"memory": {
"default": 2048,
"min": 2048,
"max": 16384
}
}
}
}
}]
}

使用典型的 DataContractSerializer 可以很容易地将此​​文档的大部分内容反序列化为对象,但是,有几个键/值我不确定“最佳实践”可能是什么。

如果您查看“components”键,则该键之后的第一个键的标题为“Windows81x64”。此键可以在文档之间更改,并且可以是任何值。它几乎应该是集合的“名称”属性,但我无法控制它。此外,在“Windows81x64”键中还有另一个名为“data”的属性。根据供应商的说法,数据的值(value)是“匿名的”。所以,基本上它可以是任何东西。

当涉及到文档的那些部分时,关于将其反序列化为自定义对象的最佳方法有什么想法吗?谢谢。

最佳答案

您可以将动态的反序列化为 Dictionary<string, object>

或者,如果您知道值的类型,您可以使用 Dictionary<string, ValueType>字典的键是名称(在您的情况下为 Windows81x64 )

关于c# - 使用 C# 反序列化一些奇怪的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41881719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com