2012-12-29 34 views
1

由於某種原因,我簡單的.getJSON方法添加了一些額外的東西到我的JSON我沒有得到。我想我已經做了一個非常簡單的實現。以下是JSON和我的JavaScript。ASP.NET Web.ApI添加東西我沒有得到

這就是所有的k_BackingField。誰幫助我呢?

[{"<CodeCampYearId>k__BackingField":7,"<Attendeesid>k__BackingField":1124,"<SessionLevel_id>k__BackingField":2,"<SponsorId>k__Ba  



$(document).ready(function() { 
     // Send an AJAX request 
     $.getJSON("api/session/GetAll", 
     function (data) { 
      // On success, 'data' contains a list of products. 
      $.each(data, function (key, val) { 

       //debugger; 

       // Format the text to display. 
       //var str = val.Name + ': $' + val.Price; 
       var str = 'abcd'; 

       // Add a list item for the product. 
       $('<li/>', { text: str }) 
       .appendTo($('#products')); 
      }); 
     }); 
    }); 
+2

你可以顯示你打電話的動作的代碼嗎? – gdp

回答

3

在我而言,事實證明,我需要將[DataContract]添加到課程以及[DataMember]的每個屬性中。

Youssef上面的評論提醒我這是一個序列化問題,所以非常感謝。 但是建議不會解決。

我正在使用這個項目可能有一箇舊的NewtonSoft serializer,雖然這可能導致了一個問題。我現在仍然擁有我的[serializable]屬性,並且只要我在每個屬性上包含[DataContract][DataMember],就可以像我期望的那樣工作。

+0

我希望我可以雙倍投票這一個。謝謝。 – granadaCoder

8

你的課程很可能是[Serializable]這會導致字段被序列化。您可以:

  • 取出[Serializable]屬性
  • 或要求JSON格式化忽略[Serializable]語義這一行:

    (DefaultContractResolver)config.Formatters.JsonFormatter. 
    SerializerSettings.ContractResolver).IgnoreSerializableAttribute = true; 
    
+0

謝謝。這是正確的答案 –

相關問題