0

JSON クライアントと XML クライアントの両方で使用されている asp.net (get) Web API があります。さまざまな XML スキーマおよび JSON オブジェクト名を変更するためにコードを装飾できる属性のタイプはありますか?

[WhatGoesHere("Record")]
public class AbcRecord
{
    public bool IsVaid { get; set; }
    [WhatGoesHere("Items")]
    public IEnumerable<AbcItem> AbcItems { get; set; }
}
<Record xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MobilePortal.Library">
  <IsVaid>true</IsVaid>
  <Items>
    ...
  </Items>
</Record>

または同等の JSON

4

2 に答える 2

3

Web API の既定の XML フォーマッタと JSON フォーマッタの両方が、DataContract および DataMember 属性をサポートしています。したがって、タイプは次のようになります。

[DataContract(Name = "Record")]
public class AbcRecord
{
    [DataMember]
    public bool IsVaid { get; set; }
    [DataMember(Name = "Items")]
    public IEnumerable<AbcItem> AbcItems { get; set; }
}
于 2013-06-05T21:29:36.303 に答える
0

クラスでこの属性を使用して、名前空間をカスタマイズできます。

[DataContract(Namespace="http://example.com/namespace")]

デフォルトでは JSON に名前空間が含まれているとは思わないので、この属性は影響しません。

于 2013-06-05T21:27:46.507 に答える