2011-10-18 9 views
0

私は(別名WebAPI via Nuget)を使用しています。私の単純なサービスは美しくXMLを生成しますが、すべてのプロパティの名前が "item"であるJSONを返します。WCF WebApiプロジェクトを使用すると、プロパティ名が正しくないJSONオブジェクトが生成される

[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; } 
} 

誰でもこれを見ましたか?

答えて

0

申し訳ありません。私の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; } 
} 
+0

あなたはwebapiのプレビュー5を使用していると仮定しています。実際には、pocoクラスにあるすべての属性を削除できます。コードplexのサンプルを確認するhttp://goo.gl/vYbEN – cecilphillip

関連する問題