2013-08-20 70 views
0

我已經創建了一個.net Web Api項目。我已經有一個現有的邏輯和數據層,並希望使用Web Api公開一些數據。當返回的內容類型是XML時,一切正常 - 所有相關記錄和所有字段都可以正確返回。但是,如果我將內容類型更改爲JSON,則所有相關記錄都將返回,但僅與ID一起返回。內容類型XML的Web Api返回完整的類 - 而JSON只返回ID

我已經使用Fiddler和不同的瀏覽器對此進行了驗證。

我可以創建一個dumby類並對其進行水合,但這是一個痛苦和很多工作。關於發生了什麼的任何想法?

PS被返回的類具有僅包含簡單類型的字段(99%肯定)。

+1

你的類型的裝飾有數據合同屬性?你使用JsonDataContractSerializer? – Will

+0

@非常感謝我沒有使用Data Contract Attribute,只要我添加它並且DataMembers開始顯示!感謝您的時間和正確的方向指針。 – Carntel

回答

1

@就是這樣!

我必須回去向我的班級添加「[DataContract]」,然後向成員添加「[DataMember]」,然後通過數據。

http://msdn.microsoft.com/en-us/library/ms733127.aspx

namespace MyTypes 
{ 
    [DataContract] 
    public class PurchaseOrder 
    { 
     private int poId_value; 

     // Apply the DataMemberAttribute to the property. 
     [DataMember] 
     public int PurchaseOrderId 
     { 

      get { return poId_value; } 
      set { poId_value = value; } 
     } 
    } 
}