Json.NET可以反序列化“动态"域名吗?特性? [英] Can Json.NET deserialize "dynamic" properties?
问题描述
我的C#服务正在从外部服务以模糊"格式接收对象,如下所示:
my C# service is receiving objects from an external service with a "fuzzy" format that looks like:
{
"member": {
"<dynamicProperty>": {
"value":"some_string",
"score": 10
}
}
此属性"对于每个对象都可以更改,我没有为其可能的值定义和限制的列表,当然我不能更改此格式.
This property "" can change for every object, I don't have a defined and restricted list for its possible values and of course I can't change this format.
有人知道Json.NET或其他Json .NET序列化程序是否可以帮助我,并允许我在下面定义类似Member
和DynamicProperty
的类,这些类可用于简单的反序列化?
Does anybody know if Json.NET or some other Json .NET serializer, could help me and allow me to define classes like Member
and DynamicProperty
below that I could use for an easy deserialization?
class Member
{
[JsonProperty(PropertyName= "??")] // what should I put here?
public DynamicProperty { get; set; }
}
class DynamicProperty
{
public string value;
public int score;
}
谢谢
推荐答案
您可以使用Dictionary<string, object>
class Member
{
public Dictionary<string, object> { get; set; }
}
或者,您可以使用 JsonExtensionData
属性:
Or, you can use the JsonExtensionData
Attribute:
class Member
{
[JsonExtensionData]
public Dictionary<string, JToken> { get; set; }
}
这篇关于Json.NET可以反序列化“动态"域名吗?特性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!