2012-09-26 3 views
1

ServiceStack으로 REST hello world 서비스를 가동했습니다.ServiceStack JSON 루트 이름

처럼 현재 보이는 테스트 개체에서 JSON을 반환 목적은 단순히

{"Name":"Value"} 

:

public class TestResponse { public string Name { get; set; } } 

합니까 나는에서 루트 이름을 강제로 클래스를 장식 할 수있는 방법 누구 JSON이므로 다음과 같이 표시됩니다.

{ root:{"Name":"Value"} } 

감사합니다.

+1

'new {root = new TestResponse() {Name = "값"}}'또는'새로운 {r oot = new {Name = "Value"}}' –

+0

대단히 감사합니다. –

답변

2

반환되는 JSON은 사용자가 채우는 DTO의 정확한 모양 (즉, 처음에는 DTO의 역할)과 일치합니다. 그래서 정확한 모양을 나타 내기 위해 DTO를 변경해야합니다.

return new TestResponse { Root = new TestRoot { Name = "Value" } }; 

을 또는 당신이 원하는 경우, 당신은 또한 사전 사용할 수 있습니다 :

public class TestResponse { 
    public TestRoot Root { get; set; } 
} 
public class TestRoot { 
    public string Name { get; set; } 
} 

사용자가 예상하는대로 그럼 당신은 그것을 반환 할 수

public class TestResponse { 
    public TestResponse() { 
     this.Root = new Dictionary<string,string>(); 
    } 
    public Dictionary<string,string> Root { get; set; } 
} 

와 함께 반환 :

return new TestResponse { Root = { { "Name", "Value" } } }; 
관련 문제