出于某种原因,我的简单.getJSON方法是在我的json中添加一些额外的东西,我没有得到。我想我做了一个非常简单的实现。下面是JSON和我的JavaScript。
这就是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'));
});
});
});
答案 0 :(得分:8)
您的课程很可能[Serializable]
导致字段序列化。你可以:
[Serializable]
属性或者让JSON
格式化程序忽略此行的[Serializable]
语义:
(DefaultContractResolver)config.Formatters.JsonFormatter.
SerializerSettings.ContractResolver).IgnoreSerializableAttribute = true;
答案 1 :(得分:3)
就我而言,事实证明我需要将[DataContract]
添加到班级和每个属性[DataMember]
。
Youssef上面的评论提醒我这是一个序列化问题,所以谢谢你。 但是这个建议无法解决。
我正在使用此项目的项目可能有较旧的NewtonSoft serializer
,但这可能会导致问题。我现在仍然拥有[serializable]
属性,只要我在每个属性中包含[DataContract]
和[DataMember]
,它就会像我期望的那样工作。