1

私はこのDTOを持っています:

public class Post
{
    public int Id { get; set; }
    public string Message { get; set; }
    public DateTime CreatedDate { get; set; }
}

次に、この DTO のリストを返す servicestack にルートがあります。メソッドの署名は次のようになります。public IList<Post> GetAllPost()

このルートから結果を取得すると、json は次のようになります。

[3]
    0:  {
        Id: 2
        Message: "itworks1"
        CreatedDate: "/Date(1367264995010+0200)/"
    }-
    1:  {
        Id: 3
        Message: "itworks2"
        CreatedDate: "/Date(1367265002050+0200)/"
    }-
    2:  {
        Id: 4
        Message: "itworks3"
        CreatedDate: "/Date(1367265006767+0200)/"
}

ただし、JSON出力を次のようにしたいと思います。

posts
    post:  {
        Id: 2
        Message: "itworks1"
        CreatedDate: "/Date(1367264995010+0200)/"
    }-
    post:  {
        Id: 3
        Message: "itworks2"
        CreatedDate: "/Date(1367265002050+0200)/"
    }-
    post:  {
        Id: 4
        Message: "itworks3"
        CreatedDate: "/Date(1367265006767+0200)/"
}

これは servicestack シリアライザーで可能ですか?

4

1 に答える 1

1

応答をオブジェクトにラップしてみてください。

public class PostListResponse
{
    public List<Post> Posts { get; set; }
}
...
public PostListResponse GetAllPosts()

次に、json は次のようになります。

{
    "posts":[
         { 
             "id":4,
             "message":"intworks3",
             "createdDate":"/Date((1367265006767+0200)/" 
         },
         { 
             "id":5,
             "message":"intworks4",
             "createdDate":"/Date((1367265006767+0200)/" 
         },
         ...
    ]
}
于 2013-05-09T20:20:10.937 に答える