使用WCF WebApi项目会产生具有不正确属性名的JSON对象

本文关键字:属性 不正确 对象 JSON WebApi WCF 项目 使用 | 更新日期: 2023-09-27 18:11:45

我正在使用Codeplex上的WCF项目(也称为通过Nuget的WebAPI)。我的简单服务生成了漂亮的XML,但返回的是JSON,其中每个属性都命名为"item"。

[OperationContract]
[WebGet(UriTemplate = "all")]
public IQueryable<myobject> GetAllUsers() {
    return (from myobject u in MyDatabase.MyObjects
           select u).AsQueryable();
}

这是生成的JSON。

[
  {
    "item":null,
    "item":641412011,
    "item":null,
    "item":"en_US",
    "item":"-7",
    "item":true
  }
]

返回值是一个公共类POCO。

[Serializable]
public class MyObject {
    [DataMember(Name = "id")]
    public int ID { get; set; }
    [DataMember(Name = "name")]
    public string Name { get; set; }
    [DataMember(Name = "first_name")]
    public string FirstName { get; set; }
    [DataMember(Name = "last_name")]
    public string LastName { get; set; }
}

有人看到这个吗?

使用WCF WebApi项目会产生具有不正确属性名的JSON对象

对不起。有些人告诉我,我遗漏了POCO类的[DataContract]属性。

[Serializable]
[DataContract]
public class MyObject {
    [DataMember(Name = "id")]
    public int ID { get; set; }
    [DataMember(Name = "name")]
    public string Name { get; set; }
    [DataMember(Name = "first_name")]
    public string FirstName { get; set; }
    [DataMember(Name = "last_name")]
    public string LastName { get; set; }
}