2011-04-18 3 views
1

クラスをXMLの両方にシリアル化しようとしています& JSON。クラスのXMLとJSONのシリアル化は、各形式で異なるinclude/excludeプロパティを使用します。

これはややこしいことですが、XML出力に含まれるいくつかのプロパティをJSONの出力から除外する必要があります。例えば

:[のXmlElement( "TAG_NAMEを")]を使用しない場合

 
[DataContract] 
public class Foobar 
{ 
    [DataMember] 
    [XmlElement("somestr")] 
    public string SomeString 

    [XmlElement("otherstr")] 
    public string OtherString 

} 

次に、通常、単に性質上【のDataContract]省略する場合JSONにシリアライズして "otherstringは" 排除するのに十分です。

私のテストでは、[XmlElement]指示文がJSONシリアライザにそれらを含めるように指示しているようです。

JSON & XMLの出力が異なるように出力を制御する方法については、誰にも分かっていますか?

多くのありがとうございます。

答えて

1

[IgnoreDataMember]OtherStringに追加できます。しかし、2つのDTOクラスに分割するほうが簡単です.1つはjson、1つはDCSです。 JavaScriptSerializerを使用している場合は、JavaScriptConverterのペアを作成するのは非常に簡単です。そのため別の実行可能なオプションもあります([ScriptIgnore]で逃げることさえあります)。

+1

[IgnoreDataMemeber]を使用してHey Marcが完璧に動作しました。どうもありがとう。 – hokapoka

関連する問題