使用SOAP/XML序列化HashTable(或通過字符串索引器導航的數據)的最佳方式是什麼?爲SOAP/XML序列化HashTable的最佳方式是什麼?
比方說,我有一個Foo
有一個屬性Bar[] Bars
。 A Bar
對象有一個鍵和一個值。默認情況下,這個序列化爲以下XML:
<Foo>
<Bars>
<Bar key="key0" value="value0"/>
...
</Bars>
</Foo>
對於JSON,這個序列化爲:
{"Foo":["Bars":[{"Key":"key0","Value":"key1} ... ]}]}
我真的很想擁有這是連載,以更好地反映基本關係。例如,
<Foo>
<Bars>
<Key0 value="value0"/>
<Key1 value="value1"/>
...
</Bars>
</Foo>
我知道有與這種方式序列化到SOAP一些挑戰,但什麼是提供一個架構,更好地反映了這一點,最好的辦法?
我試着創建一個BarsCollection對象並定義了自定義序列化,但它似乎並沒有真正調用該對象的序列化。例如。
void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context) {
foreach (Bar bar in Bars){
info.AddValue(bar.Key. bar);
}
}
有什麼建議嗎?這裏最好的做法是什麼?
正確 - 這正是問題 - 可以有無數的鍵,不同的Foos可以有不同的集合,等等。顯然,在後端,我將它存儲爲數據庫中的一對多關係 - 我現在更關心的是使API直觀易用。 – tmarman 2008-09-18 21:24:58
無論我如何實際存儲它們,我都希望API的使用者能夠使其具有語法上的優勢*看起來像一個具有屬性的對象。那有意義嗎? – tmarman 2008-09-18 21:25:39