1

WCF を使用して Rest-JSON API を作成しています。

問題は、私の結果が常にで始まることです{"GetResult": HERE_MY_RESULT }(「GetResult」に注意してください)

例えば:

public string GetString()
{
    return "Hello World!";
}

戻り値{"GetResult": "Hello World!"}

これが私のサービスに使用している関連コードです: サービス:

[ServiceContract]
public interface IPlaceService
{
    [OperationContract]
    [WebInvoke(Method = "GET",
                ResponseFormat = WebMessageFormat.Json,
                BodyStyle = WebMessageBodyStyle.Wrapped,
                UriTemplate = "places")]
    PlaceModel Get();
}

public class PlaceService : IPlaceService
{
    public PlaceModel Get()
    {
        return new PlaceModel
        {
            Count = 123,
            Title = "Title",
            Description = "Desc",
        };
    }
}

契約:

[DataContract]
public class PlaceModel
{
    [DataMember(Name="count")]
    public int Count { get; set; }

    [DataMember(Name = "title")]
    public string Title { get; set; }

    [DataMember(Name = "description")]
    public string Description { get; set; }
}

そして結果:

{"GetResult":{"count":123,"description":"Desc","title":"Title"}}

"GetResult"JSON結果からそれを削除する方法を知っている人はいますか?

前もって感謝します。

4

1 に答える 1

0

さて、この投稿に触発されたソリューションを見つけました。

のをに変更するだけBodyStyleです[OperationContract]

BodyStyle = WebMessageBodyStyle.Bare,

それを修正し、今私は受け取っています:

{"count":123,"data":[],"description":"Desc","title":"Title"}

于 2013-01-09T19:28:30.627 に答える