我想在REST API上执行JSON get请求 当我发布资源并在之后立即使用get时,我在响应中获得了一个JSON对象 当我在发布之后放置资源并使用get之后,然后JSON对象变为数组 以下是我得到的一些示例回复:
发帖后放:
{
"metadata":{
"entry":[
{
"@key":"x",
"$":"y"
},
{
"@key":"x",
"$":"y"
}
]
}
}
仅发帖后:
{
"metadata": {
"entry": {
"@key": "cachingEnabled",
"$": "false"
}
},
}
我可以使用以下任一代码进行操作。
JSON数组:
public class MetaData
{
[JsonProperty("entry")]
public List<EntryType> Entry { get; set; }
}
JSON对象:
public class MetaData
{
[JsonProperty("entry")]
public EntryType Entry { get; set; }
}
如何将c#中的这个映射到一个属性?
答案 0 :(得分:0)
您可以将其映射到dynamic
类型,这样编译器可以在运行时推迟类型:
public class MetaData
{
[JsonProperty("entry")]
public dynamic Entry { get; set; }
}
这样,每次反序列化Entry
时,它可能属于不同的类型。在反序列化JSON之后,您必须跟踪它的类型。