SOAP/XML을 사용하여 HashTable (또는 문자열 인덱서를 통해 가장 잘 탐색되는 데이터)을 직렬화하는 가장 좋은 방법은 무엇입니까?SOAP/XML 용 HashTable을 직렬화하는 가장 좋은 방법은 무엇입니까?
Foo
의 속성이 Bar[] Bars
인 경우를 예로 들어 보겠습니다. Bar
개체에는 키와 값이 있습니다. 기본적으로이 다음과 같은 XML로 직렬화 :
{"Foo":["Bars":[{"Key":"key0","Value":"key1} ... ]}]}
는 내가 정말 갖고 싶은 것은 더 근본적인 관계를 반영하기 위해이 직렬화이다 JSON,이가 직렬화
<Foo>
<Bars>
<Bar key="key0" value="value0"/>
...
</Bars>
</Foo>
. 예를 들어,
<Foo>
<Bars>
<Key0 value="value0"/>
<Key1 value="value1"/>
...
</Bars>
</Foo>
나는이 방법으로 SOAP에 직렬화 몇 가지 과제가 실현하지만, 더 나은이를 반영하는 스키마를 제공하는 가장 좋은 방법은 무엇입니까?
BarsCollection 개체를 만들고이 개체에서 사용자 지정 serialization을 정의하려고 시도했지만 해당 개체에서 실제로 serialization을 호출하지 않은 것 같습니다. 예 :
void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context) {
foreach (Bar bar in Bars){
info.AddValue(bar.Key. bar);
}
}
의견이 있으십니까? 가장 좋은 방법은 무엇입니까?
맞습니다 - 이것은 정확히 똑같은 문제입니다 - 무한 수의 키가있을 수 있고, 다른 Foos는 다른 세트를 가질 수 있습니다. 분명히 백엔드에서는 데이터베이스에 일대 다 관계로 저장되어 있습니다. 지금 내가 더 염려하는 것은 API를 사용하기 쉽도록 만드는 것입니다. – tmarman
실제로 어떻게 저장했는지에 관계없이 API 소비자는 속성이있는 객체처럼 보이는 구문을 멋지게 만들 수 있기를 바랍니다. 말이 돼? – tmarman