将字典序列化为(键值对的)数组 [英] Serialize dictionary as array (of key value pairs)
问题描述
Json.Net通常将Dictionary<k,v>
序列化为一个集合;
Json.Net typically serializes a Dictionary<k,v>
into a collection;
"MyDict": {
"Apples": {
"Taste": 1341181398,
"Title": "Granny Smith",
},
"Oranges": {
"Taste": 9999999999,
"Title": "Coxes Pippin",
},
}
哪个很棒.从环顾四周看来,这似乎是大多数人想要的.但是,在这种情况下,我想在我的Dictionary<k,v>
和Array格式之间进行序列化;
Which is great. And from looking around on SO it seems to be what most people want. However, in this particular case, I want to serialize between my Dictionary<k,v>
and the Array format instead;
"MyDict": [
"k": "Apples",
"v": {
"Taste": 1341181398,
"Title": "Granny Smith",
}
},
"k:": "Oranges",
"v:": {
"Taste": 9999999999,
"Title": "Coxes Pippin",
}
},
]
是否有一种简单的方法可以对我现有的字段类型执行此操作?例如,我可以注释一个属性吗?
Is there an easy way to do this with my existing field type? Is there an attribute I can annotate for instance?
推荐答案
啊,事实证明这很简单.我的Dictionary<k,v>
已被子类化,我发现可以用[JsonArrayAttribute]
对其进行注释.这正是我需要的格式;
Ah, it turns out this is as straightforward as I'd hoped. My Dictionary<k,v>
is subclassed already and I found that I can annotate it with [JsonArrayAttribute]
. That gives me exactly the format I need;
"MyDict": [
{
"Key": "Apples",
"Value": {
"Taste": 1341181398,
"Title": "Granny Smith",
}
},
{
"Key:": "Oranges",
"Value:": {
"Taste": 9999999999,
"Title": "Coxes Pippin",
}
},
]
这篇关于将字典序列化为(键值对的)数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!